Я пытаюсь сделать программу, которая требует сканирования более чем на одно слово, и я не знаю, как это сделать с неопределенной длиной. Мой первый порт захода был scanf, однако это только сканирование одним словом (я знаю, что вы можете делать scanf («% d% s», temp, временный) ;, но я не знаю, сколько слов ему нужно), поэтому Я огляделся и нашел фейз. Одна из проблем, с этим я не могу найти, как сделать это перейти к следующему коду, напримерСканирование более чем одним словом в C
scanf("%99s",temp);
printf("\n%s",temp);
if (strcmp(temp,"edit") == 0) {
editloader();
}
будет работать editloader(), в то время как:
fgets(temp,99,stdin);
while(fgets(temporary,sizeof(temporary),stdin))
{
sprintf(temp,"%s\n%s",temp,temporary);
}
if (strcmp(temp,"Hi There")==0) {
editloader();
}
не будет двигаться на STRCMP (код) , и будет придерживаться исходного цикла. Что мне делать вместо этого?
Я настоятельно рекомендую использовать функцию 'getline' POSIX 2008, а затем работать над каждой целой строкой. –