Bonjour, tout est dans le titre.
Je souhaiterais, à partir d'un path, obtenir le path vers le répertoire parent.
Comment peut-on faire ça?
Merci
Bonjour, tout est dans le titre.
Je souhaiterais, à partir d'un path, obtenir le path vers le répertoire parent.
Comment peut-on faire ça?
Merci
Bonjour,
ben si t as le path absolu de ton fichier dans ton path t as bien le repertoire contenant ton fichier ?
J ai bon la
"vaste programme"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 . . .
Exact Exact, mais si j'ai pas envie de parser le path?
Ou alors, comment le parser efficacement?
et en utilisant le rep parent ".." ?
par contre sur windows je sais pas si ca tourne ?
"vaste programme"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 . . .
Le but du jeu est bien justement de le faire tourner sous windows
[FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.
Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.
Boost::Spirit de mémoire.
En supposant que tu es sous un système linux (a adpater si tu est sous win):
Edit: boost::spirit c'est pour parser des langages, c'est dans la même veine que lex et yacc. Rien à voir avec ce qui est demandé. Et meme, sortir un parseur pour ca, c'est tuer une mouche avec une bombe A.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #include <iostream> #include <string> int main() { std::string s("/usr/include/c++/iostream"); s.erase(s.find_last_of("/")/* +1 (1)*/,s.size()-1); std::cout<<s<<std::endl; return 0; //(1) : dépend de si tu veux garder le dernier / ou pas. }
"Never use brute force in fighting an exponential." (Andrei Alexandrescu)
Mes articles dont Conseils divers sur le C++
Une très bonne doc sur le C++ (en) Why linux is better (fr)
Merci, ça a l'air d'être ce que je cherche, histoire de faire mon relou, je vais abuser un peu :
je fais comment si en entrée et en sortie j'ai un LPTSTR ?
Euh faut pas pousser. Je veux bien admettre que find_last_of n'est pas une fonction qu'on utilise tout les jours, mais google existe merde !
LPTSTR <-> std::string, c'est compliqué à taper dans google ?
(Message sec, mais c'est pour ton bien )
"Never use brute force in fighting an exponential." (Andrei Alexandrescu)
Mes articles dont Conseils divers sur le C++
Une très bonne doc sur le C++ (en) Why linux is better (fr)
Tu as entièrement raison, c'est pour mon bien
J'ai l'habitude de coder sous linux alors là pour une fois je suis plutot pommé avec les LPTSTR et compagnie...
"Never use brute force in fighting an exponential." (Andrei Alexandrescu)
Mes articles dont Conseils divers sur le C++
Une très bonne doc sur le C++ (en) Why linux is better (fr)
LPTSTR c'est ou bien un char* ou un wchar_t* selon que UNICODE est défini ou non...
Il il ya une fonction Win32 qui permet de séparer le path en file-name et chemin....
N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
Et surtout
En fait, je pensais à boost.filesystem à la base, et à sa classe path
A la sortie, dirs contient:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 path my_path("ab/cd/ef/gh/file.txt"); std::vector<string> dirs; std::copy(my_path.begin(), my_path.end(), std::back_inserter(dirs));
"ab"
"cb"
"ef"
"gh"
"file.txt"
La classe path contient bien d'autre goodies.
[FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.
Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager