cin>> y ctrl-d

cin>> y ctrl-d

de Xander Germán Andrés -
Número de respuestas: 0

Al enviar la señal de EOF con ctrl-d además de marcarse los bits eof y fail, también se marca el flag de error. El flujo (cin) queda bloqueado reteniendo el último ingreso. Para desbloquear el flujo cin es necesario limpiar las banderas y los flags de error después del ingreso de ctrl-d:

while(cin>>variable){
    //código
}
clearerr(stdin);
cin.clear();


https://cplusplus.com/reference/cstdio/clearerr/

https://stackoverflow.com/a/65164399