Extraire le nom d'un fichier sans son extension
Résolu/Fermé
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
-
23 févr. 2022 à 12:54
yg_be Messages postés 23392 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 - 25 févr. 2022 à 08:23
yg_be Messages postés 23392 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 - 25 févr. 2022 à 08:23
A voir également:
- Excel récupérer nom fichier sans extension
- Fichier rar - Guide
- Changer extension fichier - Guide
- Liste déroulante excel - Guide
- Recuperer message whatsapp supprimé - Guide
- Comment réduire la taille d'un fichier - Guide
15 réponses
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
Ambassadeur
1 556
23 févr. 2022 à 13:43
23 févr. 2022 à 13:43
bonjour,
peut-être en prenant tout ce qui précède le dernier point?
peut-être en prenant tout ce qui précède le dernier point?
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
1
23 févr. 2022 à 14:05
23 févr. 2022 à 14:05
Et comment on fait ça en C?
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
1 556
23 févr. 2022 à 14:40
23 févr. 2022 à 14:40
Par exemple, en utilisant les fonctions de string.h https://fr.wikipedia.org/wiki/String.h
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
1
23 févr. 2022 à 19:38
23 févr. 2022 à 19:38
Je sais pas c’est quel fonction il faut choisir ,il y en a vraiment beaucoup et il y a beaucoup je je connais pas
Vous pouvez me dire c’est laquelle svp?
Vous pouvez me dire c’est laquelle svp?
brucine
Messages postés
18277
Date d'inscription
lundi 22 février 2021
Statut
Membre
Dernière intervention
16 décembre 2024
2 702
23 févr. 2022 à 21:53
23 févr. 2022 à 21:53
Bonjour,
Pourquoi vouloir faire cela en C si apparemment, comme moi, tu n'y comprends rien?
En batch, c'est simple:
https://forums.commentcamarche.net/forum/affich-14163549-batch-lister-noms-de-ficheirs-sans-extensio
Pourquoi vouloir faire cela en C si apparemment, comme moi, tu n'y comprends rien?
En batch, c'est simple:
https://forums.commentcamarche.net/forum/affich-14163549-batch-lister-noms-de-ficheirs-sans-extensio
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
1
24 févr. 2022 à 05:04
24 févr. 2022 à 05:04
Je sais ke faire en bash sauf que dans mon exo on me demande de le faire en C
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
1
24 févr. 2022 à 11:59
24 févr. 2022 à 11:59
Si quelqu’un sait comment faire je suis prenant
Par exemple memccpy peut faire à peu près ce que veux sauf que il va inclure le . or moi je veux pas de point
Par exemple memccpy peut faire à peu près ce que veux sauf que il va inclure le . or moi je veux pas de point
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
1
24 févr. 2022 à 14:17
24 févr. 2022 à 14:17
En fait en regardant ce code la :
Ça renvoie this is the string:
Je sais pas dans ce code c’est comme si on mettait à la fin de buffer un ‘\0’ sinon je voispqsl’utilite de faire memset(…)
#include <stdio.h> #include <string.h> #include <stdlib.h> char* msg = "This is the string: not copied"; int main( void ) { char buffer[80]; memset( buffer, '\0', 80 ); memccpy( buffer, msg, ':', 80 ); printf( "%s\n", buffer ); return EXIT_SUCCESS; }
Ça renvoie this is the string:
Je sais pas dans ce code c’est comme si on mettait à la fin de buffer un ‘\0’ sinon je voispqsl’utilite de faire memset(…)
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
1 556
24 févr. 2022 à 14:58
24 févr. 2022 à 14:58
Qu'appelles-tu la "fin" de buffer?
Connais-tu les conventions en C pour représenter les chaines de caractères?
Connais-tu les conventions en C pour représenter les chaines de caractères?
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
1
24 févr. 2022 à 15:01
24 févr. 2022 à 15:01
La fin de buffer le caractère de fin de chaîné ´\0’
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
1 556
24 févr. 2022 à 15:45
24 févr. 2022 à 15:45
memset met 80 \0 dans buffer.
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
1
24 févr. 2022 à 17:24
24 févr. 2022 à 17:24
Ah ok je vois je comprend mieux
Donc du coup
Par exemple si j’ai
char fichier [10]= " operations.txt "
fichier sans extension=operations
Char fichier_sans_extension[10];
Pour ce faire je fait memccpy(fichier_sans_extension,fichier, '.' ,10)
puts(fichier_sans_extension)
Normalent ça me donne operations.
Comment faire pour ne pas tenir compte du .?
Donc du coup
Par exemple si j’ai
char fichier [10]= " operations.txt "
fichier sans extension=operations
Char fichier_sans_extension[10];
Pour ce faire je fait memccpy(fichier_sans_extension,fichier, '.' ,10)
puts(fichier_sans_extension)
Normalent ça me donne operations.
Comment faire pour ne pas tenir compte du .?
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
1 556
24 févr. 2022 à 17:41
24 févr. 2022 à 17:41
peut-être tester si le dernier caractère est un ".", et, si oui, le remplacer par \0.
dans quel contexte fais-tu cela?
dans quel contexte fais-tu cela?
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
1
Modifié le 24 févr. 2022 à 18:38
Modifié le 24 févr. 2022 à 18:38
Merci j'ai compris merci de votre aide
En fait je dois faire un programme je dois remplacer les .txt par .as
En fait je dois faire un programme je dois remplacer les .txt par .as
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
1
24 févr. 2022 à 19:06
24 févr. 2022 à 19:06
En fait j'ai écris ce code là mais ça marche pas je comprends pas
Vous savez ce qui cloche dans mon code?
j
#include <stdio.h> #include <string.h> int main(){ char fichier[]="operations.txt"; char dest[50]; char fichier_sans_extension[50]; int i=0; while(fichier[i]!='\0'){ if(fichier[i]=='.'){ memccpy(fichier_sans_extension,fichier,fichier[i-1],strlen(fichier)); puts(fichier_sans_extension); } i++; } }
Vous savez ce qui cloche dans mon code?
j
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
1 556
Modifié le 24 févr. 2022 à 21:00
Modifié le 24 févr. 2022 à 21:00
"ça marche pas": que se passe-t-il?
ton utilisation de memccpy me semble particulièrement hasardeuse.
ton utilisation de memccpy me semble particulièrement hasardeuse.
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
1
24 févr. 2022 à 20:14
24 févr. 2022 à 20:14
En fait tantot ça m'affiche
operations��U
operations6�wU
operationsX�
.....
C'est bizarre que ça m'affiche des trucs comme ça
En fait je voulais que memccpy me renvoie operations
o p ....s .
0 1 9 10
memccpy si je l'utilse comme précédemment ca renvoie operations/
Moi je voulais trouvé avec mon programme l'indice où se trouve le point à savoir i=9
et en faisant fichier[i-1] ca me permet de m'arreter à s
Et en faisant comme tout à l'heure sauf que je remplace '.' par fichier[i-1]
operations��U
operations6�wU
operationsX�
.....
C'est bizarre que ça m'affiche des trucs comme ça
En fait je voulais que memccpy me renvoie operations
o p ....s .
0 1 9 10
memccpy si je l'utilse comme précédemment ca renvoie operations/
Moi je voulais trouvé avec mon programme l'indice où se trouve le point à savoir i=9
et en faisant fichier[i-1] ca me permet de m'arreter à s
Et en faisant comme tout à l'heure sauf que je remplace '.' par fichier[i-1]
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
1 556
24 févr. 2022 à 21:00
24 févr. 2022 à 21:00
et si il y a deux s dans le nom?
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
1 556
24 févr. 2022 à 21:03
24 févr. 2022 à 21:03
as-tu lu la documentation de memccpy ?
n'as-tu pas vu récemment ce que certains faisaient avant memccpy ?
n'as-tu pas vu récemment ce que certains faisaient avant memccpy ?
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
1
>
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
25 févr. 2022 à 06:05
25 févr. 2022 à 06:05
Ah j'avais pas vu cette réponse,avant quoi vous vouliez dire
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
1
24 févr. 2022 à 21:04
24 févr. 2022 à 21:04
Normalement ça doit rien changer vu que memccpy va s’arrêter au caractère qui vient avant le .
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
1
24 févr. 2022 à 21:04
24 févr. 2022 à 21:04
Et mon code qu’est-ce que je fous changer pour qu’il fonctionne ?
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
1
25 févr. 2022 à 06:43
25 févr. 2022 à 06:43
J'ai compris ce qui clochait merci
yg_be
Messages postés
23392
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 décembre 2024
1 556
25 févr. 2022 à 08:23
25 févr. 2022 à 08:23
peux-tu alors marquer la discussion comme résolue?