У меня проблемы, я запрашиваю ввод с клавиатуры, используя библиотечную функцию fscanf(), используя поток stdin.Как закончить цикл while с помощью fscanf с потоком stdin
#define STOP '.'
char str[100]; //string variable
while((fscanf(stdin,"%s",str)) == 1) {
//code
//code
}
// Я хочу завершить этот цикл, если пользователь нажать кнопку ввода, то, что я уже пробовали это:
1)while((fscanf(stdin,"%s",str)) > 0)
2)while((fscanf(stdin,"%s",str)) < 0)
3)while((fscanf(stdin,"%s",str)) == 1 && str[0] != '\n')
// третий один со всеми комбинации операторов
4)while((fscanf(stdin,"%s",str)) == 1 && str[0] != '\0')
// Четвёртый раз со всей комбинацией операторов
5)while((fscanf(stdin,"%s",str)) == 1 && str[0] != STOP)
// 5 также со всеми возможными операторами
Я могу использовать другие функции, я знаю это, но мне это нужно, потому что сначала для обучения, когда я искал, и я ничего и не нашел, используя это в функции, которая принимает поток как параметр, и я изменяю поток в этой функции в соответствии с моей потребностью, потому что я должен использовать эту функцию.
да, если кто-то хочет сказать, сложный, я хочу, чтобы мой в то время как петля работать так же, как это в то время,
while((fgets(str,100,stdin)) != NULL && str[0] != '\n');
Что такое 'input' и как он заполняется? – LPs
Почему вы не можете использовать этот цикл 'while' с' fgets'? – GMichael
Ввод - это просто название книги. @LPs –