Advertisement
Guest User

Salehin_23_7

a guest
Jul 23rd, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<fcntl.h>
  4. #include<errno.h>
  5. #include<sys/types.h>
  6. #include<unistd.h>
  7.  
  8. #define BUFFER_SIZE 1024
  9.  
  10. int main(int argc, char* argv[]){
  11. int inputFD, outputFD;
  12. ssize_t retIn, retOut;
  13. char buffer[BUFFER_SIZE], userInput;
  14.  
  15. if(argc==1){
  16. printf("Specify output file name at least\n");
  17. return 0;
  18. }
  19. else{
  20. outputFD=open(argv[1],O_WRONLY|O_CREAT|O_TRUNC, 766);
  21. if(outputFD==-1){
  22. perror("Error!!!");
  23. return 0;
  24. }
  25.  
  26. if(argc==2){
  27. while((retIn=read(STDIN_FILENO,&buffer,BUFFER_SIZE))>0){
  28. retOut=write(outputFD,&buffer,(ssize_t)retIn);
  29. if(retOut!=retIn){
  30. perror("Write");
  31. return 0;
  32. }
  33. }
  34. }
  35. else{
  36. int i;
  37. for(i=2;i<argc;i++){
  38. inputFD=open(argv[i],O_RDONLY);
  39. if(inputFD==-1){
  40. perror("Error!!!");
  41. return 0;
  42. }
  43. while((retIn=read(inputFD,&buffer,BUFFER_SIZE))>0){
  44. retOut=write(outputFD,&buffer,(ssize_t)retIn);
  45. if(retOut!=retIn){
  46. perror("Write");
  47. return 0;
  48. }
  49. }
  50. close(inputFD);
  51. }
  52. }
  53. close(outputFD);
  54. }
  55.  
  56.  
  57. return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement