[ C - Linux ]nom de répertoire.

nom de répertoire. [ C - Linux ] - Programmation

Marsh Posté le 06-01-2002 à 22:55:29    

bonjour,
 
je suis de faire un invite de commande semblable à celui du bash et je bloque pour récupérer le nom du repertoire sous forme réduite.
ex: au lieu d' afficher "/home/toto/rep1/rep2" j' aimerais plutot afficher "/rep2".
 
merci.

Reply

Marsh Posté le 06-01-2002 à 22:55:29   

Reply

Marsh Posté le 07-01-2002 à 00:22:25    

Je ne sais pas si j'ai bien compris ce que tu veux faire et comment tu veux le faire  mais si as accès aux commandes du systeme tu peux utiliser ça:
 
echo $PWD | awk -F/ '{print "/"$NF }'  
 
la variable d'environement PWD qui contient le repertoire courant est tronquée au dernier repertoire.

Reply

Marsh Posté le 07-01-2002 à 00:30:30    

çà serait plus facile comme çà, mais je dois faire çà dans un programme en C.Récuperer le PWD n' a pas été un problème(un ptit coup de getenv("PWD" ) ). C' est après que çà coince.

Reply

Marsh Posté le 07-01-2002 à 00:49:11    

Désolé je n'avais pas vu que tu faisais ton truc en C,
 
Soit tu utilises la commande exec() pour faire appel à la commande que je t'ai donnée soit tu te fais une petite fontion  qui mouline la string  renvoyée par getenv(PWD) en cherchant la position du dernier "/" de la chaine renvoyée par PWD  et apres tu extraits la sous chaine qui va de la position que tu as récupéree jusqu'à la fin.(utilise la fonction 'strrchr' de la bibliotheque string.h )

 

[edtdd]--Message édité par zeltron--[/edtdd]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed