Цикличный просмотр символов в файле от начала до конца - C (СИ)
Формулировка задачи:
Хочу циклом пробежать по всем символам в файле(txt)и вывести их на экран, при открытии файла через КС.
Проблема в том,что переменная int ch,выступающая в роли функции fgetc(inputF),при попытке вывода на экран printf("%с \n", ch) выводит одни единички.
Необходимо, чтобы каждый символ выводился соответственно: A=A, g=g, и т. д.
В общем,если написано: fef
fe
Должно быть выведено
f А не 1
e 1
f 1
f 1
e 1
Заранее,благодарю за подсказку!=)
int main(int argc, char *argv[]) { char word[20]; char *inter=word; inter=argv[1]; int len = strlen(inter); FILE *inputF; char *file_name=argv[2]; int ch; inputF=fopen(file_name, "r"); if ( inputF == NULL ) printf("Cannot open file.\n"); while(ch=fgetc(inputF) !=EOF) { printf("%d \n", ch); } fclose (inputF); system("PAUSE"); return 0; }
Решение задачи: «Цикличный просмотр символов в файле от начала до конца»
textual
Листинг программы
while (!feof(inputF)) { ch = fgetc(inputF); printf("%c", ch); } printf("\n");
Объяснение кода листинга программы
inputF
— это файловый поток, который, вероятно, был открыт для чтения.ch
— это переменная типаchar
, которая будет использоваться для хранения каждого символа из файла.printf
— это функция, которая используется для вывода символа на консоль.fgetc
— это функция, которая используется для чтения символа из файлового потока.feof
— это функция, которая проверяет, достигнут ли конец файла.- В цикле
while
используется оператор отрицания!feof(inputF)
, чтобы продолжать чтение символов из файла до тех пор, пока не будет достигнут конец файла. - Внутри цикла
while
вызывается функцияfgetc(inputF)
, чтобы прочитать следующий символ из файла в переменнуюch
. - Затем вызывается функция
printf
с аргументом%c
, чтобы вывести символch
на консоль. - После выхода из цикла
while
вызывается функцияprintf(
\n)
, чтобы вывести новую строку.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д