Вопрос по c++, stdin – Возобновить чтение из iostream :: cin после Ctrl + Z (EOF)? («Игнорировать» не работает)

4

Почему внешний цикл в следующей программе завершается, когда мы предоставляем ctrl + z только для внутреннего цикла?

#include<iostream>
int main()
{
    string s1,s2;

    while(cin >> s1)
    {
        cout<<"In loop1\n";
        while(cin>>s2)
            cout<<"In loop 2\n";
        cin.ignore();
    }
}
Я изменил основной вопрос. Я надеюсь, что это все еще соответствует вашим целям (петли были вторичным эффектом). user166390

Ваш Ответ

2   ответа
3

поэтому cin.ignore этого не делает. вместо этого попробуйте cin.Clear ().

7

лько оно закрыто, оно остается закрытым. Он волшебным образом не открывается после завершения внутренней петли. Просто нет причин, почему это так.

Error: User Rate Limit Exceeded user1232138
Error: User Rate Limit Exceededcin.ignore();Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded user1232138

Похожие вопросы