Дан текстовый файл F. Переписать в файл Q все компоненты файла F с заменой в них символа 0 на 1 и наоборот - C (СИ)
Формулировка задачи:
Дан текстовый файл F. Переписать в файл Q все компоненты файла F с заменой в них символа 0 на 1 и наоборот.
Решение задачи: «Дан текстовый файл F. Переписать в файл Q все компоненты файла F с заменой в них символа 0 на 1 и наоборот»
textual
Листинг программы
#include <stdio.h> int f_replace(const char* _output, const char* _input, char old, char ch){ int err; char buf[256], *p; FILE* fout; FILE* fin = fopen(_input, "r"); if(fin == NULL) return 0; if((fout = fopen(_output, "w+")) == NULL){ fclose(fin); return 0; } err = 0; while((p = fgets(buf, sizeof(buf), fin)) != NULL){ for(; *p; ++p){ if(*p == old) *p = ch; } if(fputs(buf, fout) == EOF){ err = ferror(fout); break; } } fflush(fout); fclose(fout); if(ferror(fin) != 0) err = ferror(fin); fclose(fin); return ! err; } int main(void){ char input[] = "input.txt"; char output[] = "output.txt"; if(f_replace(output, input, '0', '1')) puts("хорошо."); getchar(); return 0; }
Объяснение кода листинга программы
- В функции f_replace() происходит замена символа в текстовом файле.
- В функции f_replace() используется стандартная библиотека языка C.
- В функции f_replace() открывается входной файл для чтения и выходной файл для записи.
- В функции f_replace() используется цикл while для чтения строк из входного файла.
- В функции f_replace() используется цикл for для замены символов в каждой строке.
- В функции f_replace() используется функция fputs() для записи измененных строк в выходной файл.
- В функции f_replace() используется функция fflush() для очистки буфера вывода.
- В функции f_replace() используется функция fclose() для закрытия файлов.
- В функции main() определяются входные и выходные файлы.
- В функции main() вызывается функция f_replace() для замены символов в файле.
- В функции main() выводится сообщение в зависимости от результата выполнения функции f_replace().
- В функции main() используется функция getchar() для получения символа от пользователя.
- В функции main() возвращается значение 0, что означает успешное выполнение программы.
- Входной файл input.txt и выходной файл output.txt располагаются в одной директории.
- Замена символа 0 на 1 и наоборот происходит в каждой строке входного файла.
- Входной файл input.txt и выходной файл output.txt должны быть корректно открыты и доступны для чтения и записи.
- Если файл input.txt не найден или недоступен для чтения, программа выдаст сообщение об ошибке.
- Если файл output.txt не найден или недоступен для записи, программа выдаст сообщение об ошибке.
- Если в процессе выполнения программы возникнут ошибки, программа выдаст сообщение об ошибке.
- Код программы написан на языке C и использует стандартную библиотеку языка C.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д