Bonjour à tous,

Je n'arrive pas à bien me servir des fonctions write et open. J'ai créé le tout petit programme suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
#include <unistd.h>
#include <fcntl.h>
 
int main()
{
   int fd;
   char c = 'z';
 
   fd = open("./test",O_CREAT, 777);
   write(fd, &c, 1);
   return (0);
}
Je veux créer le fichier test et juste écrire 'z' dedans, mais ça ne marche pas. J'ai mis 777 comme paramètre à open, comme signalé dans le manuel pour donner tous les droits à tous le monde. Lorsque j'exécute le programme, le fichier test est bien créé mais vide. De plus, lorsque je regarde les droits du fichier, j'ai :
-r----x--x 1 gautgaut 2014 0 Nov 4 17:04 test
(je suis sur mac OS). J'ai bien essayer d'utiliser l'option O_WRONLY, mais sans rigueur ni succès.

L'un de vous a-t-il une explication ? Merci d'avance,

Gautier