Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <sys/stat.h>
- #include<fcntl.h>
- #include<unistd.h>
- int main(int argc, char* argv[]) {
- int exit = 0;
- int in = open(argv[1], O_RDONLY);
- if (in == -1) {
- exit = 1;
- goto end;
- }
- int out1 = open(argv[2], O_WRONLY | O_CREAT, 0640);
- int out2 = open(argv[3], O_WRONLY | O_CREAT, 0640);
- if (out1 == -1 || out2 == -1) {
- exit = 2;
- goto end;
- }
- ssize_t readin, reado1, reado2;
- char rbyte;
- int out;
- while ((readin=read(in, &rbyte, sizeof(rbyte))) > 0) {
- out = ('0' <= rbyte && rbyte <= '9') ? out1 : out2;
- if (-1 == write(out, &rbyte, sizeof(rbyte))) {
- exit = 3;
- goto end;
- }
- }
- if (-1 == readin) {
- // exit = 3;
- goto end;
- }
- end:
- close(in);
- close(out1);
- close(out2);
- return exit;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement