Напишите программу, которая считывает символы из файла строка за строкой vstup.txt - C (СИ)
Формулировка задачи:
Помогите пожалуйста написать программу..
"Напишите программу, которая считывает символы из файла строка за строкой vstup.txt. Каждая строка в файле переписывает CISLA.TXT. После перезаписи каждой строки на следующей строке с указанием количества малых букв прочитанной строки. Если файл уже существует и содержит некоторые данные, эти данные не стирает программу и записывает свой вывод в файл CISLA.TXT. Программа не требует никакого ввода со стандартного ввода и опустить какой-либо вывод на стандартный вывод. Предположим, что в последней строке всегда завершается в конце линии.
"Вот так должно выглядит...
Ukážka súboru VSTUP.TXT: ahoj123 x*Y*z Ukážka súboru CISLA.TXT pred spustením programu: qwerty 6 Súbor CISLA.TXT po spustení programu: qwerty 6 ahoj123 4 x*Y*z 2Помогите, буду очень признателен!! Заранее спасибо!!!
Решение задачи: «Напишите программу, которая считывает символы из файла строка за строкой vstup.txt»
textual
Листинг программы
#include <stdio.h>
#include <assert.h>
int main() {
const char CFileSrc[] = "VSTUP.TXT";
const char CFileDest[] = "CISLA.TXT";
FILE* src, * dest;
int count = 0, ch;
assert((src = fopen(CFileSrc, "r")));
if ((dest = fopen(CFileDest, "a")) == NULL) {
assert(dest = fopen(CFileDest, "w"));
}
while ((ch = fgetc(src)) != EOF) {
fputc(ch, dest);
if (('a' <= ch) && (ch <= 'z')) {
count++;
}
else if (ch == '\n') {
fprintf(dest, "%d\n", count);
count = 0;
}
}
fclose(dest);
assert((dest = fopen(CFileDest, "r")));
while ((ch = fgetc(dest)) != EOF) {
putchar(ch);
}
fclose(dest);
fclose(src);
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и проверки утверждений.
- Объявление переменных: — CFileSrc - путь к исходному файлу; — CFileDest - путь к целевому файлу; — src, dest - указатели на файлы; — count - счётчик символов; — ch - текущий символ.
- Открытие исходного файла для чтения и, при необходимости, создание целевого файла.
- Чтение символов из исходного файла и запись их в целевой файл до достижения конца файла.
- Увеличение счётчика, если текущий символ является буквой.
- Запись количества символов в целевой файл, если текущий символ является символом новой строки.
- Закрытие целевого файла.
- Открытие целевого файла для чтения и, при необходимости, повторное создание целевого файла.
- Чтение символов из целевого файла и их вывод на экран до достижения конца файла.
- Закрытие целевого и исходного файлов.
- Возврат 0, что означает успешное завершение программы.