Probleme avec fcntl
toetoe89
Messages postés
15
Statut
Membre
-
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'essaie de tester la fonction fcntl mais les tests donnent un resultat assez surprenant :
En fait ,pour le Code suivant,normalement,la fonction doit retourner O_WRONLY, sauf que ça retourne 32769 :S
int main(int argc, char *argv[]) {
int desc = open("temp.txt",O_WRONLY|O_CREAT,S_IREAD|S_IWRITE); //ouverture du fichier
char buf[25];
memset(buf,0,sizeof(buf));
strcpy(buf,"hello\n");
write(desc,buf,strlen(buf)); //ecriture du buffer
int a = fcntl(desc,F_GETFL); //resultat erroné !!!
printf("la valeur de a : %i\n",a);
close(desc);
return 0;
}
merci d'avance pour toute réponse instructive ..
j'essaie de tester la fonction fcntl mais les tests donnent un resultat assez surprenant :
En fait ,pour le Code suivant,normalement,la fonction doit retourner O_WRONLY, sauf que ça retourne 32769 :S
int main(int argc, char *argv[]) {
int desc = open("temp.txt",O_WRONLY|O_CREAT,S_IREAD|S_IWRITE); //ouverture du fichier
char buf[25];
memset(buf,0,sizeof(buf));
strcpy(buf,"hello\n");
write(desc,buf,strlen(buf)); //ecriture du buffer
int a = fcntl(desc,F_GETFL); //resultat erroné !!!
printf("la valeur de a : %i\n",a);
close(desc);
return 0;
}
merci d'avance pour toute réponse instructive ..
4 réponses
Salut.
Il est possible qu'il y ait d'autre attributs auxquels tu n'as pas pensé.
Essai plutôt :
Il est possible qu'il y ait d'autre attributs auxquels tu n'as pas pensé.
Essai plutôt :
printf("écriture seule ? %i\n",a&O_WRONLY);
je viens d'essayer mais ça change rien ! en fait ,je comprends pas l'origine de la valeur retournée ..
Un doute m'envahi...
Question stupide, mais on ne sais jamais...
Tu ne t'attends tout de même pas à voir écris "O_WRONLY" sur la console tout de même ? (rassure-moi !)
Question stupide, mais on ne sais jamais...
Tu ne t'attends tout de même pas à voir écris "O_WRONLY" sur la console tout de même ? (rassure-moi !)
loul non mais j'ai deja évalué les valeurs O_WRONLY et O_RDONLY ,et je m'attends à ce que fcntl retourne O_WRONLY ce qui n'est pas le cas de mon programme