Удалить из файла с текстом все лишние пробелы - C (СИ)

Узнай цену своей работы

Формулировка задачи:

удалить из файла с текстом все лишние пробелы. Оставшееся переписать во второй файл

Решение задачи: «Удалить из файла с текстом все лишние пробелы»

textual
Листинг программы
#include <stdio.h>
 
int main() {
    FILE* in = fopen("input.txt", "r");
    FILE* out = fopen("output.txt", "w");
    char space = 0;
    short c;
    while ((c = getc(in)) != EOF)
        if (c == ' ') {
            if (!space) {
                space = 1;
                putc(' ', out);
            }
        } else {
            space = 0;
            putc(c, out);
        }
    fclose(in);
    fclose(out);
}

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

  1. Включаем файл для работы с консолью
  2. Создаем программу, которая будет удалять лишние пробелы из файла с текстом
  3. Открываем файл input.txt для чтения и файл output.txt для записи
  4. Инициализируем переменную space как 0 и переменную c как короткое значение, которое будет хранить текущий символ
  5. Начинаем цикл while, который будет выполняться до тех пор, пока не будет достигнут конец файла (EOF)
  6. Проверяем текущий символ c. Если это пробел, то выполняем определенные действия
  7. Если пробел и переменная space равна 0, то это первый пробел, поэтому записываем его в файл output.txt и устанавливаем переменную space в 1
  8. Если пробел, то это означает, что предыдущий символ не был пробелом, поэтому записываем текущий символ c в файл output.txt и устанавливаем переменную space в 0
  9. Если текущий символ c не является пробелом, то записываем его в файл output.txt
  10. Закрываем файлы in и out
  11. Выполняем программу

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


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

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

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