Advertisement
Xioth

C - TP3 - wc.c

Jan 27th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.04 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int wc(FILE *str, int opt)
  5. {
  6.     int compt = 0;
  7.     char buffer[256];
  8.     char c;
  9.  
  10.     if(opt == 1)
  11.     {
  12.         while(fgets(buffer, sizeof(buffer), str))
  13.         {
  14.             compt++;
  15.         }
  16.     }
  17.     else if(opt == 2)
  18.     {
  19.         while(c != EOF)
  20.         {
  21.             c = fgetc(str);
  22.             if (c == ' ')
  23.                 compt++;
  24.         }
  25.     }
  26.     else if(opt == 3)
  27.     {
  28.         while(fgetc(str) != EOF)
  29.         {
  30.             compt++;
  31.         }
  32.     }
  33.  
  34.     return compt;
  35. }
  36.  
  37. void usage()
  38. {
  39.     printf("wc [-c|-w|-l] FILE\n");
  40. }
  41.  
  42. int main(int argc, char *argv[])
  43. {
  44.     if(argc != 3)
  45.     {
  46.         usage();
  47.         exit(1);
  48.     }
  49.  
  50.  
  51.     FILE *fichier = fopen(argv[2], "r");
  52.  
  53.     if(!strcmp(argv[1], "-c"))
  54.     {
  55.         printf("%d", wc(fichier, 3));
  56.     }
  57.     else if(!strcmp(argv[1], "-w"))
  58.     {
  59.         printf("%d", wc(fichier, 2));
  60.     }
  61.     else if(!strcmp(argv[1], "-l"))
  62.     {
  63.         printf("%d", wc(fichier, 1));
  64.     }
  65.     else
  66.     {
  67.         usage();
  68.         exit(1);
  69.     }
  70.  
  71.  
  72.     return 0;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement