Скопировать из файла F1 в файл F2 строки, количество символов в которых больше чем К - C (СИ)
Формулировка задачи:
Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию. Скопировать из файла F1 в файл F2 строки, количество символов в которых больше чем К.
Решение задачи: «Скопировать из файла F1 в файл F2 строки, количество символов в которых больше чем К»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *F1;
FILE *F2;
int k=0;
char str[255];
printf("input K = ");
scanf("%d",&k);
printf("\n");
F1=fopen("input.txt","w");
for (int i=0;i<10;i++)
{
fflush(stdin);
printf("Input %d str \n",i+1);
gets(str);
fputs(str,F1);
fputs("\n",F1);
}
fclose(F1);
F1=fopen("input.txt","r");
F2=fopen("output.txt","w");
while (fgets(str,255,F1)!=NULL)
{
if (strlen(str)-1>k)
{
fputs(str,F2);
}
}
fclose(F1);
fclose(F2);
}
Объяснение кода листинга программы
В этом коде:
- Подключаются необходимые библиотеки.
- Объявляются и инициализируются переменные:
F1иF2- файловые указатели, которые будут использоваться для работы с файлами.k- переменная для получения числа из ввода пользователя.str- строка для чтения строк из файла и проверки их длины.
- Пользователю предлагается ввести число
k. - Создается файл
input.txtдля ввода строк. - В цикле заполняются строки файла
input.txt. - Файл
input.txtзакрывается. - Открываются файлы
input.txtиoutput.txtдля чтения и записи соответственно. - В цикле считываются строки из файла
input.txtи проверяется их длина. - Если длина строки больше
k, то эта строка записывается в файлoutput.txt. - Файлы
input.txtиoutput.txtзакрываются.