Extraire le nom d'un fichier sans son extension
Résolu
Theo_0055
Messages postés
273
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, escequ'il y a une fonction qui extrait le nom d'un fichier en language c s'il vous plait?
exemple
nom: operation.txt
nom sans l'extension:operation
exemple
nom: operation.txt
nom sans l'extension:operation
A voir également:
- Excel récupérer nom fichier sans extension
- Fichier bin - Guide
- Changer extension fichier - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
15 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
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?
Et comment on fait ça en C?
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?
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
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
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(…)
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 .?
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
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
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]