Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
内側のループにのみ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(); } }
Ctrl + z(Windowsの場合)を押すと、標準の入力ストリームが閉じます。閉じられると、閉じたままになります。内側のループが終了すると、魔法のように再開することはありません。そうなる理由はありません。
Ctrl-Z は cin をエラー状態にするため、cin.ignore はエラー状態になりません。代わりに cin. Clear() を試してください。