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![]()
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 ?
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)
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.
Partager