¿Reanudar la lectura de iostream :: cin después de Ctrl + Z (EOF)? ("Ignorar" no funciona)

¿Por qué el bucle externo en el siguiente programa termina cuando proporcionamos ctrl + z solo para el bucle interno?

<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>

Respuestas a la pregunta(2)

Su respuesta a la pregunta