Удалить из файла с текстом все лишние пробелы - 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);
}
Объяснение кода листинга программы
- Включаем файл
для работы с консолью - Создаем программу, которая будет удалять лишние пробелы из файла с текстом
- Открываем файл input.txt для чтения и файл output.txt для записи
- Инициализируем переменную space как 0 и переменную c как короткое значение, которое будет хранить текущий символ
- Начинаем цикл while, который будет выполняться до тех пор, пока не будет достигнут конец файла (EOF)
- Проверяем текущий символ c. Если это пробел, то выполняем определенные действия
- Если пробел и переменная space равна 0, то это первый пробел, поэтому записываем его в файл output.txt и устанавливаем переменную space в 1
- Если пробел, то это означает, что предыдущий символ не был пробелом, поэтому записываем текущий символ c в файл output.txt и устанавливаем переменную space в 0
- Если текущий символ c не является пробелом, то записываем его в файл output.txt
- Закрываем файлы in и out
- Выполняем программу