Я пишу программу на C, которая должна принимать пользовательский ввод длиной до 100 символов, но пользователю разрешено вводить меньше этого предела. Я пытаюсь реализовать эту идею с циклом while, который продолжает принимать ввод char до тех пор, пока пользователь не нажимает enter (значение ascii 13), после чего цикл должен прерываться. Это то, что я написал:C: Использование scanf для принятия предопределенной входной длины char []
char userText[100]; //pointer to the first char of the 100
int count = 0; //used to make sure the user doens't input more than 100 characters
while(count<100 && userText[count]!=13){ //13 is the ascii value of the return key
scanf("%c", &userText[count]);
count++;
}
Запуск из командной строки, если я введу несколько символов, а затем нажмите клавишу ВВОД, подсказка просто переходит на новую строку и продолжает принимать ввод. Я думаю, проблема кроется в том, что я не понимаю, как scanf получает вход, но я не уверен, как его изменить. Что я могу сделать, чтобы сделать перерыв цикла, когда пользователь нажал кнопку ввода?