Заменить все слова в исходном файле на количество букв (целое число) в слове - 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;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с файлами и строками
  2. Объявление переменных: count_c (счетчик количества букв), ch (хранение очередного символа из файла), fi и fo (указатели на файлы для чтения и записи)
  3. Открытие файлов для чтения и записи
  4. Проверка на успешное открытие файлов. Если файлы не открылись, выводится сообщение об ошибке и программа завершается
  5. Чтение символов из файла и подсчет количества непустых символов
  6. Запись количества букв и пробела в файл text.out
  7. Закрытие файлов
  8. Завершение программы с возвратом 0 (успешное выполнение)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.333 из 5
Похожие ответы