读书人

while(cin) 是什么意思啊多谢。O(∩_∩

发布时间: 2012-05-15 14:35:29 作者: rapoo

while(cin) 是什么意思啊。。谢谢。。O(∩_∩)O

C/C++ code
int main(){ char input[10]; char next; cout << "输入:\n"; cin.get(input, 10);  while(cin)  // 这句话就不明白了。。。cin读取的那个值?? {  cin.get(next);  //  这个是什么意思。cin.get()又是读取的什么值。。。  while(next != '\n')      cin.get(next);  // 同上  strcount(input);  //这是个我定义过的函数  cout << "Enter next! \n";  cin.get(input, 10); } cout << "Bye~!"; return 0;}


不明白的我在程序中标出来了。。谢谢。。帮忙 解释下。。 关于 C++ 的I/O函数 老是很让人疑惑。。。哎。。。

[解决办法]
while(cin) 测试cin的 operator void*返回值

cin.get(next);从cin流中取出一个字符。


[解决办法]
1 不是测试第一次输入的返回值,cin是一个对象,它有它的状态的。while(cin)就是测试其状态的,判断是否结束。
2 cin.get(next)是用于接收由先前输入引起的而暂存在缓冲区内的回车符。单步调试的时候你就可以发现了

你的程序可以一直输入字符,当你想结束的时候,按Ctrl+z就表示输入结束了,那时候cin的状态就表示结束了。然后退出while循环

读书人网 >C++

热点推荐