Анализ файла на наличие числовой информации - C (СИ)
Формулировка задачи:
Есть файл, в нём нужно оставить только слова состоящие из цифр полностью. Под словом подразумевается последовательность символов ограниченная пробелами.
Решение задачи: «Анализ файла на наличие числовой информации»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- /*Есть файл, в нём нужно оставить только слова состоящие из цифр полностью.
- Под словом подразумевается последовательность символов ограниченная пробелами.*/
- int main()
- {
- int i = 0, x = 0;
- char s[80];
- FILE *f1, *f2;
- f1 = fopen("file1.txt", "r");
- f2 = fopen("file2.txt", "w");
- while( 1 == fscanf(f1, "%s", s)){
- x = printf("%s ", s);
- system("cls");
- while(1){
- if(s[i] < '0' || s[i] > '9'){
- i = 0;break;
- }
- else ++i;
- if(i == x - 1){
- fprintf(f2, "%s\n", s);
- i = 0;break;
- }
- }
- }
- fclose(f1);
- fclose(f2);
- f1 = fopen("file1.txt", "w");
- f2 = fopen("file2.txt", "r");
- while(NULL != fgets(s, 80, f2))
- fprintf(f1, "%s", s);
- fclose(f1);
- fclose(f2);
- remove("file2.txt");
- return 0;
- }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с файлами и математическими операциями
- Указываем задачу программы - анализ файла на наличие числовой информации
- Объявляем переменные:
- i - счетчик символов в строке
- x - счетчик количества строк, которые мы уже обработали
- s - строка, которая будет хранить текущую строку из файла
- f1, f2 - указатели на файлы для чтения и записи
- Открываем файл для чтения (f1) и записи (f2)
- Запускаем цикл, который будет читать файл построчно
- Внутри цикла проверяем каждый символ в строке: если символ не является числом, то начинаем цикл заново
- Если текущий символ является числом, увеличиваем счетчик i
- Если i равно x - 1, то записываем текущую строку в файл для записи
- После окончания чтения файла, закрываем файлы f1 и f2
- Открываем файл для записи (f1) и чтения (f2)
- Записываем содержимое файла для чтения в файл для записи
- Закрываем файлы f1 и f2
- Удаляем файл file2.txt
- Возвращаем 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д