Заменить все слова в исходном файле на количество букв (целое число) в слове - 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 (успешное выполнение)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д