DrOctopus a écrit :
je suis sous LINUX et j'ai un programme en C qui créer et ecrit dans un fichier texte.
J'aimerais donner des droits a ce fichiers (777) , mais je n'arrive pas à trouver comment on fait.
|
Si tu utilises "open()" tu peux spécifier les droits à mettre au fichier lors de sa création
=> open("fichier", O_WRONLY|O_CREAT|O_APPEND, 0777);
Malheureusement avec "fopen()" tu peux pas.
DrOctopus a écrit :
Donc si g bien compris, je peux utiliser la fonction chmod, et ca va me donner qqch comme ca:
const char *pathname = /var/www/monfichier.txt;
chmod (pathname,666); ??
|
Petit détail dangereux: les droits sont à mettre en "octal" c'est à dire qu'il faut explicitement faire commencer le nombre par un "0" => chmod(pathname, 0666)
sinon il y aura conversion du nombre 666 (base 10) en nombre octal (1232) et au lieu d'avoir "rw-rw-rw-" t'auras "-w--wx-wT" !!!
Bien évidemment la solution de "Combi_A_Vendre" est beaucoup plus standard...
Message édité par Sve@r le 14-03-2007 à 22:07:05
---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.