Bonsoir,
j'essaie de copier un fichier en utilisant les primitives systèmes,
mais j'ai tout le temps une erreur de lecture.
Si vous pouviez me donner votre avis, ça serait sympa.
Voici mon code:
Je n'ai pas d'erreur lors de la compilation.
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
29
30
31
32
33
34
35
36
37
38
39
40
41 #include<stdio.h> #include<stdlib.h> #include<sys/types.h> #include<sys/stat.h> #include<unistd.h> #include<fcntl.h> #define MAX 4096 main() { int fd1,fd2; int n; char buffer[MAX]; //buffer=malloc(sizeof(char)*4096); fd1=open("toto",O_WRONLY); if(fd1==-1) { perror("Ouverture impossible !"); exit(1); } fd2=open("titi",O_WRONLY | O_CREAT | O_TRUNC,0666); if(fd2==-1) { perror("Creation du fichier impossible !"); exit(1); } while((n=read(fd1,buffer,MAX))>0) { write(fd2,buffer,n); } if(n==-1) // L' erreur se passe donc ici { perror("Erreur de lecture !"); exit(1); } close(fd1); close(fd2); exit(0); }
Le fichier titi est bien crée, mais il reste vide, donc je pense qu' il y a bien erreur de lecture du fichier toto.
Merci de votre aide,
Jerome
Partager