Вывести на экран текст из файла, не выводя на экран определённый символ - C (СИ)
Формулировка задачи:
Доброго времени суток. Задали написать такую программу. Ничего подобного на практиках не разбирали, а сдавать уже скоро. Помогите решить пожалуйста. Заранее спасибо!
Программе задаются:
-имя входного файла;
-символ, который не должен отображаться.
Программа должна осуществлять вывод на экран текста, содержащегося в заданном файле, исключая символы, совпадающие с указанным символом.
P.S. решить надо на обычном C.
Решение задачи: «Вывести на экран текст из файла, не выводя на экран определённый символ»
textual
Листинг программы
- #include <stdio.h>
- int main(){
- int arr[4][4];
- char path[100];
- char without;
- scanf("%s %c",path,&without);
- FILE* f = fopen(path,"rt");
- if (!f){
- printf("error\n");
- return 1;
- }
- char buf=0;
- while(!feof(f)){
- buf = getc(f);
- if (buf != without)
- putchar(buf);
- }
- return 0;
- }
Объяснение кода листинга программы
- Объявлены массив arr[4][4], строка path[100] и переменная without типа char.
- С помощью функции scanf вводится путь к файлу и символ, который необходимо исключить из вывода.
- Открывается файл по указанному пути с помощью функции fopen.
- Если файл не открылся, выводится сообщение об ошибке и возвращается 1.
- Инициализируется переменная buf как 0 и используется в цикле while для чтения файла посимвольно.
- В каждой итерации цикла, с помощью функции getc считывается очередной символ из файла и сохраняется в переменной buf.
- Если считанный символ не равен указанному для исключения символу, он выводится на экран с помощью функции putchar.
- Цикл продолжается до тех пор, пока не достигнется конец файла (feof(f)).
- После окончания цикла, закрывается файл с помощью функции fclose.
- Возвращается 0, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д