[c] Supprimer un "\n" en fin d e chaine
oopin
-
lami20j Messages postés 21506 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21506 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour,
J'ai un problème en c pour récuperer le chemin ou s'execute mon programme.
Je suis sous Ubuntu
j'utilise le code suivant :
Je récupère bien mon chemin dans ma variable pwd, mais avec un \n à la fin, et lorsque j'essai de remplacer ce \n par un \0 pour marquer la find e la chaine, mes printf("%s" , pwd ) n'affichent plus rien .
Je ne comprend pas :'(
Merci d'avance
oopin
J'ai un problème en c pour récuperer le chemin ou s'execute mon programme.
Je suis sous Ubuntu
j'utilise le code suivant :
// on recupere dans pwd le chemin d'execution du programme
FILE *f;
if ( (f = popen("pwd", "r")) != NULL ) // ouverture
if ( fgets(pwd, sizeof pwd, f) != NULL )
fputs(pwd, stdout);
pclose(f); // fermeture
pwd[strlen(pwd)-1] = '\0';
Je récupère bien mon chemin dans ma variable pwd, mais avec un \n à la fin, et lorsque j'essai de remplacer ce \n par un \0 pour marquer la find e la chaine, mes printf("%s" , pwd ) n'affichent plus rien .
Je ne comprend pas :'(
Merci d'avance
oopin
Configuration: Linux Ubuntu Firefox 3.0.4
2 réponses
-
Si je puis me permettre, il serait plus simple d'utiliser getcwd :
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man2/getcwd.2.html
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/getcwd.3.html
Bonne chance -
Salut,
fait un printf avant et un après ensuite exécute ton code et affiche le résultat