Цикличный просмотр символов в файле от начала до конца - 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), чтобы вывести новую строку.