Bonjour,
Quelqu'un saurait-il comment découper un chemin de façon à avoir seulement le nom du dossier
Example:
X:\InfoP4\JMC\C++Builder\Théorie
Découper ce chemin de façon à avoir :
Théorie
merci d'avance de votre aide
Version imprimable
Bonjour,
Quelqu'un saurait-il comment découper un chemin de façon à avoir seulement le nom du dossier
Example:
X:\InfoP4\JMC\C++Builder\Théorie
Découper ce chemin de façon à avoir :
Théorie
merci d'avance de votre aide
Bonjour
string::rfind et string::substr sont fait pour ça.
Code:
1
2
3
4
5
6
7
8
9
10 #include <string> #include <iostream> using namespace std; int main(){ string s1 = "X:\\InfoP4\\JMC\\C++Builder\\Théorie"; string s2 = s1.substr(1+s1.rfind('\\')); cout << s2 << endl; return 0; }
bonjour
ici :
http://www.cplusplus.com/reference/c...ng/strtok.html
ou ceci mais c'est pas le top du top :mrgreen: :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 vector<string> decouper(string chaine, char c){ int size=chaine.size(); int r=0; vector<string> v; for(int i=0; i<size; i++){ if (chaine[i]==c){ v.push_back(chaine.substr(r, i-r)); r=i+1; } } v.push_back(chaine.substr(r, size-r)); return v; }
Merci de votre réponse
mais j'ai trouvé ceci et ça marche très bien.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 String GetDirectoryName(String Directory) { size_t i; char *tDirectoryName; i = strlen(Directory.c_str()); tDirectoryName[0] = '\0'; while(Directory.c_str()[i-1] != '\\') { i--; } strcpy(tDirectoryName,Directory.c_str() + i); return tDirectoryName; }
J'adore !
Mabu donne une bonne solution, et la solution retenue (on sait pas d'où ça sort) est un vieux mélange C/C++ bien pourrie...
Bravo ! ;)