| [C] renommer un fichier par neolistic |
mercredi 25 octobre 2006 à 00:07:41 |
Renommer = Déplacer si le fichier reste sur le même device
Pour renommer/déplacer un fichier le plus simple c'est de le faire directement dans une console shell : mv ancien_nom nouveau_nom Le C te permet de d'appeler une fonction shell facilement. Tape dans google ou dans une console : man execvp man popen pour voir comment ça marche. Bon évidemment c'est pas top car ton programme ne pourra marcher que sous linux mais bon... Au fait pourquoi veux tu faire ça en C car ce n'est pas le langage le plus adapté, par exemple comparé à du bash. Bonne chance |
|
Je veux faire ca en C car le nom du fichier se construit à partir de données à l'intérieur de celui ci (TAG d'un mp3) et je ne sais pas lire précisément un fichier en bash (et je ne sais meme pas si c'est possible)
J'ai effectivement pensé à l'appel de mv avec exec mais je voudrais vraiment savoir comment on peut le faire au niveau systeme! Si tu crois etre perdu, revient sur tes pas. |
|
il existe une fonction rename() en C
int rename (const char*, const char*); dans "stdio.h" Si tu veux savoir comment elle est faite, regarde les sources des lib de gcc. sinon, pour trouver les fonctions quand tu ne les connait pas, il y a deux solutions : au pif dans le man (man -k rename, man -k move) ou sur quelques site http://www.cppreference.com/ où d'ailleur la fonction rename est lister (dans "All C functions") Salutation ! Char Snipeur |
Ah je connaissais pas cette focntion ! Très sympathique et nettement plus propre que ma solution ;) |
C'est super!
Merci beaucoup! Mais je ne suis pas convaincu par le man -k. Par exemple, je cherchais une fonction pour savoir si un fichier est un répertoire et ben j'ai pas trouvé ni dans man -k ni dans cppreference, au final j'ai trouvé dans le code source de la commande mv: lstat! Si tu crois etre perdu, revient sur tes pas. |
man mv man ls Mais il y a une fonction en C pour tester si un fichier est un répertoire... Je ne me souviens plus du nom par contre. Bonne chance |
j'ai pas dit que c'était infaillible le "man -k" mais ça peut aider à trouver une fonction quand on sait ce qu'elle fait. (si la fonction existe)
sinon, quand tu ouvre ton flux de fichier, tu as un FILE* Ceci est une structure. N'y aurait-il pas un des membre de cette struct qui dirait si c'est un fichier ou non? Salutation ! Char Snipeur |
man fstat man opendir man readdir man closedir Bonne chance |
| 04/01 14h13 | Comment créer un fichier PPS ? | Bureautique |
| 14/04 18h33 | Commandes du fichier CONFIG.SYS | MS-Dos |
| 03/11 18h56 | [Shell] Créer un fichier vide | Bash |
| 03/01 16h45 | Convertir un fichier WAV, AVI, MPEG vers le format 3GP / 3GPP | Multimédia |
| 13/03 12h20 | Créer un fichier PDF | Acrobat |
| 03/06 18h07 | Comment renommer un fichier? | Programmation | 03/06 18h26 | 3 |
| 24/05 18h05 | gtk créer un fichier renommable | Programmation | 08/06 17h10 | 1 |
| 28/01 16h51 | Comment renommé des centaine de fichier ? | Windows | 28/01 20h56 | 4 |
| 21/05 13h35 | programmation c renommer un fichier | Windows | 21/05 14h24 | 1 |
![]() | PDF Creator - PDF Creator est un outil gratuit permettant de créer des PDF à partir de presque n'importe quelle application capable... | Catégorie: PDF Licence: Open Source |
![]() | Switch Sound Format Converter - Switchest un convertisseur de formats audio pour Windows ou Mac, capable de convertir des fichiers audio à partir de... | Catégorie: Conversion audio Licence: Freeware/gratuit |
![]() | SMV convert Tool - SMV convert tool est un petit utilitaire graphique permettant de transformer très facilement des fichiers au format AVI, WMV... | Catégorie: Edition vidéo Licence: Freeware/gratuit |
![]() | MP3Tag - Mp3tag est un éditeur de Métatags (ID3 tags) pour la plupart des formats audio courants. Il est capable de renommer un grand... | Catégorie: Marquage (ID3) Licence: Freeware/gratuit |