Advertisement
xeritt

Символьная обработка строк n-длины из файла

Apr 6th, 2018
221
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. #define N 1024
  4. int main (int argc, char **argv)
  5. {
  6.     if (argc < 2){
  7.         printf("Неверное кол-во параметров\n");
  8.         exit(1);
  9.     }
  10.  
  11.     FILE *fp, *fp2;
  12.     char ch;
  13.  
  14.     if ((fp = fopen (argv[1], "r")) == NULL)
  15.     {
  16.         printf ("Невозможно открыть файл.\n");
  17.         exit (1);
  18.     }
  19.  
  20.     if ((fp2 = fopen (argv[2], "w")) == NULL)
  21.     {
  22.         printf ("Невозможно открыть файл.\n");
  23.         exit (1);
  24.     }
  25.  
  26.     char buffer[N];
  27.     int len = 0;
  28.     int maxlen = atoi (argv[3]);
  29.  
  30.     while ((ch = fgetc (fp)) != EOF)
  31.     {
  32.         if (ch == '\n')
  33.         {
  34.             if (len < maxlen)
  35.             {
  36.                 for (int j = 0; j < len; j++)
  37.                 {
  38.                     fputc (buffer[j], fp2);
  39.                 }
  40.             }
  41.             len = 0;
  42.         }
  43.         buffer[len] = ch;
  44.         printf ("%c", ch);
  45.         len++;
  46.     }
  47.  
  48.     fclose (fp2);
  49.     fclose (fp);
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement