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