comment extraire le filename d'un chemin en C - C++ - Programmation
Marsh Posté le 12-03-2003 à 17:38:36
pour l'instant je pars en codant ca :
1 parcourir la chaine et detecter le dernier emplacement d'un '\'
2 reparcourir en copiant de '\'+1 jusqu'a la fin
mais n'hesitez pas a proposer mieux !
Marsh Posté le 12-03-2003 à 17:43:20
y'a un moyen simple:
http://msdn.microsoft.com/library/ [...] itpath.asp
Marsh Posté le 12-03-2003 à 17:50:41
si t'es en C++Builder : ExtractFileName
Marsh Posté le 12-03-2003 à 17:51:20
oui, mais j'avais oublier de preciser que je devais produire un code multiplateforme.
du coup, j'ai fait ca
Code :
|
c'etait pas si dur...
merci
Marsh Posté le 12-03-2003 à 17:53:07
Heu ca va foirer si tu as un fichier avec un "\" dans son nom sous Linux
Et ne me dites pas que ce n'est pas possible, j'ai testé :
http://www.antp.be/test/backslash/
Marsh Posté le 12-03-2003 à 17:56:20
"Heu ca va foirer si tu as un fichier avec un "\" dans son nom sous Linux"
ha oui, j'avais pas pensé a ca...
ben...je crois qu'il ne me reste plus que les directives de compilation.
Marsh Posté le 12-03-2003 à 17:57:28
C'est ce que Borland a fait pour le ExtractFileName de C++Builder/Delphi/Kylix
Marsh Posté le 12-03-2003 à 18:15:24
pour info, la version finale.
Code :
|
Qu'est se qui est passé dans la tete de billou le jour ou il a choisit le '\' plutot que le '/' ?
Marsh Posté le 12-03-2003 à 18:20:27
t'es sur de toi pour splitpath ?
man splitpath me retourne rien, dans quel include je trouve ca ?
Marsh Posté le 12-03-2003 à 18:24:26
sous visual ou borland, dans l'objet string, y a pas un stringtokenizer?
Marsh Posté le 12-03-2003 à 18:25:14
et man _splitpath ?
Marsh Posté le 12-03-2003 à 18:27:19
djok_fb a écrit : sous visual ou borland, dans l'objet string, y a pas un stringtokenizer? |
Aucune idée, j'utilise GCC et du C ANSI.
Marsh Posté le 12-03-2003 à 18:28:04
bizarre splitpath je l'ai toujours eu sous dos que ce soit du TC/BC/WatcomC.
Marsh Posté le 12-03-2003 à 18:28:24
ReplyMarsh Posté le 21-03-2003 à 06:44:04
Citation : for (cpt=0;cpt<strlen(path);cpt++) |
Parcours complet à chaque tour de boucle... Ce truc m'a toujours fait marrer.
Code :
|
/ est un séparateur aussi sous windows.
Marsh Posté le 12-03-2003 à 17:37:26
tout est dans le sujet, par exemple :
en entrée j'ai "c:\truc\machin\pouet.txt"
en sortie j'aimerai donc "pouet.txt"
y'a un moyen simple de faire ca ?
merci