Lesen von iostream :: cin nach Strg + Z (EOF) fortsetzen? ("Ignorieren" funktioniert nicht)

Warum wird die äußere Schleife im folgenden Programm beendet, wenn wir Strg + Z nur für die innere Schleife bereitstellen?

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

    while(cin >> s1)
    {
        cout<<"In loop1\n";
        while(cin>>s2)
            cout<<"In loop 2\n";
        cin.ignore();
    }
}
</code>

Antworten auf die Frage(2)

Ihre Antwort auf die Frage