Bonjour,
Je voudrais savoir comment en C, on récupère le nom du répertoire courant pour le mettre dans une chaine de caractères.Merci de vos réponses
Bonjour,
Je voudrais savoir comment en C, on récupère le nom du répertoire courant pour le mettre dans une chaine de caractères.Merci de vos réponses
Salut, le répertoire courant est désigné par un point . (je travaille sous linux et/ou mac...)
La fonction getcwd() permet de récupérer le répertoire courant de travail.
Prototype:
Code : Sélectionner tout - Visualiser dans une fenêtre à part char *getcwd( char *buffer, int maxlen );![]()
Merci de cette réponse.malgré cela j'ai encore une erreur.Voici mon code:
L'erreur après lancement est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #define BUF 255 char rep[BUF]; getcwd(&rep,BUF); struct stat buf; char rep[255]; int res=stat(rep,&buf); if(res==-1) { perror("stat cas 2"); exit(2); } if(S_ISDIR(buf.st_mode)) { listrec(&rep,&cptfic,&cptsize); } Ma fonction listrec: void listrec(char *nomrep,int *cptfic,int *cptsize){...}
stat : No such file or directory
Pourtant, si j'affiche rep, il me donne bien le repertoire courant en chemin absolu.
Déjà, il y a soucis là:
Problème de redéfinition...Surtout juste avant d'utiliser stat! Les options du compilateur doivent être surement mal réglé pour ne pas détecter cette erreur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 char rep[BUF]; getcwd(&rep,BUF); struct stat buf; char rep[255]; int res=stat(rep,&buf);
Merci beaucoup à tous. En effet le problème était dans la redéfinition!
Encore Merci!
Partager