Заменить все слова в исходном файле на количество букв (целое число) в слове - C (СИ)
Формулировка задачи:
Заменить все слова в исходном файле на количество букв (целое число) в сло-
ве. Результат записать в отдельный файл. Записывать числа следует с помощью
функции форматированного вывода fprintf.
Решение задачи: «Заменить все слова в исходном файле на количество букв (целое число) в слове»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <ctype.h>
- int main(void)
- {
- int count_c = 0;
- char ch;
- FILE *fi, *fo;
- fo = fopen("text.out", "w");
- fi = fopen("text.in", "r");
- if(fi == NULL && fo == NULL)
- puts("ERROR: не могу открыть файл"), exit(1);
- while((ch = fgetc(fi)) != EOF)
- if(!isspace(ch) && !ispunct(ch))
- {
- count_c++;
- }
- else if(isspace(ch))
- {
- if(count_c)
- {
- fprintf(fo, "%d%c", count_c, ch);
- count_c = 0;
- }
- }
- fclose(fi);
- fclose(fo);
- return 0;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и строками
- Объявление переменных: count_c (счетчик количества букв), ch (хранение очередного символа из файла), fi и fo (указатели на файлы для чтения и записи)
- Открытие файлов для чтения и записи
- Проверка на успешное открытие файлов. Если файлы не открылись, выводится сообщение об ошибке и программа завершается
- Чтение символов из файла и подсчет количества непустых символов
- Запись количества букв и пробела в файл
text.out
- Закрытие файлов
- Завершение программы с возвратом 0 (успешное выполнение)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д