Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <unistd.h>
- #include <stdlib.h>
- #include <fcntl.h>
- #include <stdio.h>
- #include <string.h>
- int fd1,fd2;
- void functieRecursiva();
- int main(int argc, char *argv[]) {
- if(argc<3)
- {perror("nu ai dat suficiente argumente"); exit(0);}
- if(-1==(fd1=open(argv[1],O_RDONLY))) {perror("eroare la fisier1"); exit(1);}
- if(-1==(fd2=creat(argv[2],0660))) {perror("eroare la fisier2"); exit(2);}
- functieRecursiva();
- close(fd1);
- close(fd2);
- return 0;
- }
- void functieRecursiva()
- {
- int r,w,i=0;
- char c;
- char* linie=malloc(100);
- while(1)
- {
- r=read(fd1,&c,1);
- if(r==-1) {perror("eroare la citire"); exit(3);}
- if(r==0) break; //EOF
- linie[i]=c; i++;
- if(c=='\n')
- {
- functieRecursiva();
- w=write(fd2,linie,strlen(linie));
- if(w==-1) {perror("eroare la scriere"); exit(4);}
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement