[so] open(O_CREAT)
Lucian Cojocar
cojocar at gmail.com
Thu Mar 5 22:04:50 EET 2009
alexandrujuncu at gmail.com wrote:
> Pornind de la avertizarea "ATENŢIE! O greşeală frecventă este omiterea
> drepturilor de creare a fişierului (0644 în exemplul de mai sus) când
> se apelează open cu flag-ul O_CREAT activat. " am testat să văd care
> sunt efectele... a creat fișierul ok, doar că a dat niște drepturi
> ciudate..ba mai mult, rulat de două ori a dat drepturi diferite:
>
> -r----x--T 1 alexj alexj 0 2009-03-05 21:30 dan.txt
> ----r-x--T 1 alexj alexj 0 2009-03-05 21:32 dan.txt
> -rwSr-x--T 1 alexj alexj 0 2009-03-05 21:34 dan.txt
>
> Dar nu a dat eroare...există vreo explicație pentru comportamentul acesta?
>
Da.
Definitia lui open este:
int open(const char *, ...);
Ca sa mearga si open fara O_CREAT.
Practic daca ai dat O_CREAT s-a incercat citirea a ce mai exista pe
stiva. Compilatorul nu are cum sa-si dea seama ca tu ai dat parametru
O_CREAT si ca ar trebui sa mai dai un paramatru.
Lucian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3361 bytes
Desc: S/MIME Cryptographic Signature
Url : http://cursuri.cs.pub.ro/pipermail/so/attachments/20090305/586326e6/attachment.bin
More information about the so
mailing list