Bonjour,
J'utilise le code suivant :
Ce code me permet tout simplement d'ajouter le dossier en cours au début de la variable d'environnement path. Cela fonctionne très bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 char *path=getcwd(NULL,0); strcat(path,":"); strcat(path,getenv("PATH"));
Cependant la doc de strcat précise que la chaine de destination doit être suffisamment grande pour contenir l'ajout. Dans mon cas, ma chaine a été allouée par getcwd. Je présume que mon code fonctionne car l'allocation dépasse les besoins. Mais si je ne gère pas, je dois m'attendre à un beau bug.
Je pensais donc avant l'utilisation de strcat utiliser realloc en donnant la taille necessaire. (strlen sur path + strlen de getenv("PATH"))
Merci de vos retours.
Partager