Вывести на экран текст из файла, не выводя на экран определённый символ - 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, что означает успешное выполнение программы.