Я должен принимать пользовательский ввод и записать его в файл, для которого я использую fgets()
с идеей, чтобы предотвратить переполнение:вход пользователя и fgets
while (fgets(line, sizeof line, stdin) != NULL)
fputs(line, file);
Проблема с этим состоит в том, что пользователь имеет для ввода CTRL + Z на пустой строке, а затем отправьте его, чтобы выйти из ввода, и это может показаться немного запутанным. Есть ли более простой способ выхода из ввода fgets()
?
Как насчет других методов? Если я прочитаю символ по символу, я могу реализовать символ выхода, но пользователь не может удалить вход, и это тоже запутывает, поэтому мне нужно реализовать алгоритм удаления, который добавляет слишком много сложности для кода.
Редактировать: Пользователь должен иметь возможность вводить код C в терминале с минимальными ограничениями.
Работает как символ на Linux. Может быть, у вас есть какая-то странная среда разработки или ОС? И 'fgets' не позволяет редактировать. 'stdin' - поток символов! – Olaf
Идея состоит в том, чтобы иметь возможность очень легко выйти из ввода (возможно, конкретный символ выхода), и я не могу сделать это с помощью fgets. – user3604097