bonjour
devant ouvrir un fichier pour y ecrire en utilisant la norme posix pour la portabilite (contrainte du projet) le code suivant:
compile et me renvois, a l'execution (avec :mon_exe mon_fichier), le message suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 #include <stdio.h> #include <sys/types.h> #include <unistd.h> #include <sys/stat.h> #include <fcntl.h> #include <errno.h> #include <stdlib.h> #include <string.h> int main(int argc, char* argv[]) { char* s = "un message"; printf("%s\n", argv[1]); int fd = (int)fopen(argv[1], "r"); fprintf(stderr, "%s\n", strerror(errno)); printf("fd %d\n", fd); int res = write(fd, s, 2); printf("res %d\n", res); fprintf(stderr, "%s\n", strerror(errno)); return 0; }
mon_fichier
fd 1...4
res -1
Bad file descriptor
Si qlq'un connait la raison de ce probleme par avance merci
Partager