Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<fcntl.h>
- #include<errno.h>
- #include<sys/types.h>
- #include<unistd.h>
- #define BUFFER_SIZE 1024
- int main(int argc, char* argv[]){
- int inputFD, outputFD;
- ssize_t retIn, retOut;
- char buffer[BUFFER_SIZE], userInput;
- if(argc==1){
- printf("Specify output file name at least\n");
- return 0;
- }
- else{
- outputFD=open(argv[1],O_WRONLY|O_CREAT|O_TRUNC, 766);
- if(outputFD==-1){
- perror("Error!!!");
- return 0;
- }
- if(argc==2){
- while((retIn=read(STDIN_FILENO,&buffer,BUFFER_SIZE))>0){
- retOut=write(outputFD,&buffer,(ssize_t)retIn);
- if(retOut!=retIn){
- perror("Write");
- return 0;
- }
- }
- }
- else{
- int i;
- for(i=2;i<argc;i++){
- inputFD=open(argv[i],O_RDONLY);
- if(inputFD==-1){
- perror("Error!!!");
- return 0;
- }
- while((retIn=read(inputFD,&buffer,BUFFER_SIZE))>0){
- retOut=write(outputFD,&buffer,(ssize_t)retIn);
- if(retOut!=retIn){
- perror("Write");
- return 0;
- }
- }
- close(inputFD);
- }
- }
- close(outputFD);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement