Cin 和 Cout 对象如何在循环中工作

how does the Cin and Cout objects work in a loop

我有这段代码

int main()
{
   char ch;
   while (cin >> ch)
     cout << ch;
   return 0;
}

我正在徘徊的是 cin 如何在 while() 循环中工作?我的意思是,它有内部索引吗?

当您输入数据时,循环将继续,只有在找到 EOF(文件结尾)时才会停止 ctrl + C(在 windows) ctrl + D(在 linux)

这在你需要测试很多情况并且你不确定有多少时很有用,你可以输入你想要的次数,程序只会在找到文件末尾时停止!

示例输入

a
b
c
(ctrl + d)

示例输出

a
b
c
the program will finish because EOF was found!

参见此参考资料: http://www.cplusplus.com/reference/cstdio/EOF/