EOF сочетание клавиш Windows 10 - C (СИ)
Формулировка задачи:
Доброго дня!
Начал изучать теорию по файлам и столкнулся с проблемой в функции feof, т.к не могу обозначить конец файла. Сочетания CTRL+Z +D и т.д не работают, ввод -1, 256 при функции getchar тоже не завершают ввод.
Попробовал с основ написав такую программу:
в итоге putchar выводит вместо символов квадратики с вопросом, хотя при нажатии сtrl+Z, появляется ^Z и программа завершается
int main() { char c; while(c = getchar() != EOF) putchar(c); _getch(); return 0; }
Решение задачи: «EOF сочетание клавиш Windows 10»
textual
Листинг программы
int account; char name[30]; float balance; FILE * cfPtr; if((cfPtr = fopen("clie n ts.d a t", "w")) == NULL) printf("File could not be opened\n"); else { printf("Enter the account, name, and balance. \n"); printf("Enter EOF to end input.\n "); scanf("%d%s%f", &account, name, &balance); while(!feof(stdin)) { fprintf(cfPtr, "%d %s %.2f\n", account, name, balance); printf("----\n"); scanf("%d%s%f", &account, name, &balance); } fclose(cfPtr); }
Объяснение кода листинга программы
- Объявлены три переменные:
account
(целое число),name
(строка символов, в которой может быть до 30 символов),balance
(число с плавающей точкой). - Открывается файл с помощью функции
fopen
, которая возвращает указатель на файл. Если файл не может быть открыт, выводится сообщение об ошибке. - Если файл успешно открыт, программа запрашивает у пользователя ввод трех значений: номер счета, имя и баланс.
- Значения считываются с помощью функции
scanf
. - Указатель
cfPtr
используется для записи данных в файл. - Пока пользователь не введет EOF (что означает конец ввода), данные записываются в файл.
- После записи данных в файл программа выводит сообщение
----
и снова запрашивает у пользователя ввод трех значений. - Когда пользователь вводит EOF, цикл заканчивается.
- Файл закрывается с помощью функции
fclose
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д