Итак, я работаю над тем, что требует от пользователя, чтобы пользователь вводил столько, сколько они хотят в командном окне, включая новые строки, а затем после нажатия CTRL + D (символ EOF) I должен иметь возможность распечатывать все, что было напечатано.Подождите, пока EOF при использовании stdin
Я могу выяснить, как это сделать каждую новую строку.
#include <stdio.h>
int main()
{
int C;
C = getc(stdin);
while(C != EOF)
{
putc(C, stdout);
C = getc(stdin);
}
return 0;
}
Я могу использовать только getc и putc. В конце концов я хочу, чтобы пользователь вводил столько, сколько они хотят, а затем в зависимости от флагов, которые они отправляют с помощью команды, я изменю ввод, который они дают мне, используя getopt.
EDIT: Извините, забыл добавить свой вопрос. То, что я хочу сделать, - это подождать, пока пользователь войдет во все свои данные, а затем распечатает все, а не линию за строкой. Как бы я это сделал.
Итак, в чем ваш вопрос? –
В Unix отсутствует символ «EOF», происходит то, что если пользователь вводит ctrl-D в tty, он обрабатывает это как конец файла, который должен быть передан на чтение процесса от него. – vonbrand
Предпочитают строчные буквы для имен переменных. – pmg