Sunteți pe pagina 1din 1

#include <errno.

h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
void eroare(char *msg) {
if(errno)
perror(msg);
else
fprintf(stderr, "%s\n", msg);
exit(1);
}
int main(int argc, char **argv) {
int f1,f2;
if(argc != 3)
eroare("copie_goluri fisier_sursa fisier_destinatie");
if((f1 = open(argv[1], O_RDONLY)) < 0)
eroare("err fisier1");
if((f2 = creat(argv[2], 0777)) < 0)
eroare("err fisier2");
int size;
if((size = lseek(f1, 0, SEEK_END)) < 0)
eroare("err lseek");
if(lseek(f1, 0, SEEK_SET) < 0)
eroare("err leek");
char buf[2];
int i;
for(i=0; i<size; i++) {
read(f1, buf, 1);
write(f2, buf, 1);
}
printf("Lungime fisier %s: %d octeti\n", argv[1], size);
printf("Lungime fisier %s: %d octeti\n", argv[2], size);
close(f1);
close(f2);
return 0;
}

S-ar putea să vă placă și