4 #include <sys/stat.h>
\r
5 #include <sys/types.h>
\r
9 #define STDIN_FILENO 0
\r
13 main(int argc, char* argv[])
\r
15 size_t number_of_bytes_to_read = 4096;
\r
16 int number_of_bytes_readed = 0;
\r
17 char buffer[4096] = {0};
\r
21 if((fd = creat(argv[1], _S_IREAD | _S_IWRITE)) < 0)
\r
23 fprintf(stderr,"creat() failed with the error %d\n",errno);
\r
24 return EXIT_FAILURE;
\r
29 number_of_bytes_readed = read(STDIN_FILENO, buffer, number_of_bytes_to_read);
\r
31 if(number_of_bytes_readed < 0 && errno != EINTR && errno != EAGAIN)
\r
33 fprintf(stderr, "read failure %d\n", errno);
\r
38 if(number_of_bytes_readed > 0)
\r
40 write(fd, buffer, strlen(buffer));
\r
41 memset(buffer, 0, number_of_bytes_to_read);
\r
45 }while(number_of_bytes_readed);
\r
49 return failed ? EXIT_FAILURE : EXIT_SUCCESS;
\r