#include #include #include #include #define SZBUF 256 int main(int argc, char *argv[]){ int fs, fd, m, n; char buf[SZBUF]; if (argc < 3){ fprintf(stderr, "Usage : %s \n", argv[0]); exit(1); } fs = open(argv[1], O_RDONLY); if (fs == -1){ perror("Opening source file fails"); exit(2); } fd = open(argv[2], O_WRONLY|O_TRUNC|O_CREAT, 0600); if (fd == -1){ perror("Opening destination file fails"); exit(3); } while (n = read(fs, buf, SZBUF)){ m = write(fd , buf, n); if (n == -1){ perror("Writing in file fails"); exit(4); } } close(fd); close(fs); exit(0); return EXIT_SUCCESS; }