Guest User

Untitled

a guest
Jul 21st, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<fcntl.h>
  3. #include<unistd.h>
  4. #include<stdlib.h>
  5. int main( int argc, char *argv[])
  6. {int v[256];
  7. unsigned char ch;
  8. int fd,i,r,w=0,aux_ch,l=0,L=0,aux_L=0,c=0;
  9. for(i=0;i<256;i++)
  10. { v[i]=0;
  11. }
  12. if(argc==1)
  13. { printf("Nu ati specificat fisierul");
  14. exit(1);
  15. }
  16. fd=open(argv[1],O_RDONLY);
  17.  
  18. if(fd==-1)
  19. {
  20. printf("Eroare la open");
  21. exit(2);
  22. }
  23. aux_ch=read(fd,&ch,1);
  24. while(1)
  25. {r=read(fd,& ch,1);
  26. if(r==-1)
  27. {printf("Eroare la read");
  28. exit(3);
  29. }
  30. if(r==0)
  31. break;
  32. if(ch!=' ' && aux_ch ==' ')
  33. w++;
  34. aux_ch=ch;
  35. if(ch=='\n')
  36. l++;
  37. if(ch!='\n')
  38. { aux_L++;
  39. if(aux_L>L)
  40. L=aux_L;
  41. }
  42. else if(ch=='\n')
  43. aux_L=0;
  44. c++;
  45. }
  46. if(close(fd)==-1)
  47. { printf("eroare la close");
  48. exit(4);
  49. }
  50. printf("numarul de cuvinte este: %d \n",w);
  51. printf("numarul de linii este: %d \n",l);
  52. printf("cea mai mare linie are: %d caractere\n",L);
  53. printf("numarul de bytes este:%d\n", c);
  54. return 0;
  55. }
Add Comment
Please, Sign In to add comment