Extraire le chemin du répertoire parent d'un répertoire [Résolu]

chandler8692 49 Messages postés vendredi 6 mai 2005Date d'inscription 9 février 2007 Dernière intervention - 9 févr. 2007 à 19:54 - Dernière réponse : BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention
- 9 févr. 2007 à 21:37
Bonjour. J'ai besoin de faire quelque chose et je ne sais pas comment.
Je dispose de l'adresse d'un répertoire : "/home/mon_nom/a/b"
Et je souhaite en extraire la chaine contenant le repertoire parent soit " /home/mon_nom/a"
Savez-vous comment je peux faire celà ?

Merci pour votre aide.
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
deck_bsd 1244 Messages postés jeudi 31 mars 2005Date d'inscription 3 août 2016 Dernière intervention - 9 févr. 2007 à 20:15
3
Merci
ben tu te positionne en fin de chaine, puis tu boucle vers le début tant que tu n'a pas atteint le 1er '/' , une fois que tu es dessus , tu le remplace par 0 (0 de fin de chaine.) tout simple non?

++
deck_bsd
___________________________________
[http://deck-bsd.eurower.net]

Merci deck_bsd 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 73 internautes ce mois-ci

Commenter la réponse de deck_bsd
SAKingdom 3213 Messages postés lundi 7 novembre 2005Date d'inscription 16 février 2009 Dernière intervention - 9 févr. 2007 à 21:07
0
Merci
Pas besoin de reculer à la fin de la chaine. Suffis de pointer le dernier \\ rencontré et de le remplacer par un 0:

char *GetFilePath (char *path)
{
    char *d = path;
    if(!path || !*path) return 0;    do if(*path '\\') d path; while(*++path);
    *d = 0;
    return d; // pointeur sur fin de chaine
}

C++ (@++)<!--
Commenter la réponse de SAKingdom
chandler8692 49 Messages postés vendredi 6 mai 2005Date d'inscription 9 février 2007 Dernière intervention - 9 févr. 2007 à 21:26
0
Merci
...
Je le sais que parfois je peux être con mais à ce point, quand même !! :D
J'ai essayé des trucs trop bizarres qui prenaient trop la tete avec des strtok et des strcat alors que ça ne prenait que 2 lignes.

Merci beaucoup, je crois qu'il faut que je fasse un petit free(ma_tete) là. Je dois avoir trop de trucs dans le cerveau.

++
Commenter la réponse de chandler8692
chandler8692 49 Messages postés vendredi 6 mai 2005Date d'inscription 9 février 2007 Dernière intervention - 9 févr. 2007 à 21:29
0
Merci
Merci SaKingdon mais il s'avère que ta solution est quand même à peine plus longue en terme de lignes et qu'elle est un peu plus compliquée aussi. Mais merci en tout cas.
Commenter la réponse de chandler8692
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 9 févr. 2007 à 21:37
0
Merci
Rien de compliqué, sont toutes les 2 des méthodes par pointeur qu'on déplace.
La 1er a 2 boucles sans saut.
La 2eme est en 1 boucle mais avec un saut interne.

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.