Меня попросили выполнить работу на C, когда я должен был читать из ввода, пока не появится пробел, а затем, пока пользователь не нажмет клавишу ввода. Если я сделаю это :
scanf("%2000s %2000s", a, b);
Он будет следовать первому правилу, но не второму.
Если я напишу:
I am smart
То, что я получу, эквивалентно:
a = "I";
b = "am";
Но это должно быть:
a = "I";
b = "am smart";
Я уже пробовал:
scanf("%2000s %2000[^\n]\n", a, b);
и
scanf("%2000s %2000[^\0]\0", a, b);
В первом он ждет, пока пользователь нажмет Ctrl + D (для отправки EOF), и это не то, что я хочу. Во втором он не компилируется. Согласно компилятору:
предупреждение: нет закрытия ‘]’ для ‘% [’ format
Есть ли хороший способ решить эту проблему?