Как считать из stdin текст, пока не будет нажато Ctrl+D - C (СИ)
Формулировка задачи:
как считать из stdin текст, пока не будет нажато Ctrl+D?
Решение задачи: «Как считать из stdin текст, пока не будет нажато Ctrl+D»
textual
Листинг программы
char buffer[4096]; // fgets вернет NULL при ошибке или eof. while (fgets(buffer, 4096, stdin) != NULL) { // Ввод находится в buffer, вместе с символом переноса строки // можно, например, избавиться от символа переноса buffer[strlen(buffer) - 1] = '\0'; printf("%s\n", buffer); } // проверить на ошибку if (ferror(stdin)) printf("An error has occured");
Объяснение кода листинга программы
- Объявлена переменная
buffer
типаchar
с размером в 4096 байт. - Задана инструкция
while
, которая будет выполняться до тех пор, покаfgets
не вернетNULL
. - В условии
while
происходит сравнение результатаfgets
сNULL
. - В теле цикла
while
находится введенный текст, включая символ новой строки. - В конце программы выводится сообщение об ошибке, если была допущена ошибка ввода.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д