while (1) {
palindrome = my_string_init_default();
while (1) {
ch = getc(stdin);
if (ch == '\n') {
break;
}
else {
continue;
}
palindrome->push_back(palindrome, ch);
}
if (is_palindrome(palindrome)) {
printf("Yes \n");
}
else {
printf("No \n");
}
palindrome->destroy(&palindrome);
}
return 0;
}
Я пытаюсь в основном проверить, является ли текст палиндром или нет. эта часть кода здесь не показана и отлично работает. что я пытаюсь сделать, так это то, что я читаю входные данные до конца строки. а затем рассмотрим, что строка строка, которую я проверяю, если это палиндром или нет. но вместо того, чтобы закончить программу, я должен перейти к следующей строке и продолжать повторять, пока не достигнет EOF. как мне это сделать, не испортив местоположение моего буфера. Могу ли я использовать fseek здесь ?.Использование вложенных циклов без помех в буфере в stdin
Я не понимаю, почему ты нужно сделать что-нибудь особенное в отношении управления 'stdin'. (Ваша проблема, похоже, не имеет к этому отношения.) –
Есть ли причина, по которой вы не можете использовать 'scanf'? (т. е. читать «строку» из консоли ('stdin') один раз вместо чтения строки' char') – ryyker