首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-05-15 
while(cin) 是什么意思啊。。谢谢。。O(∩_∩)OC/C++ codeint main(){ char input[10] char next cout 输

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

热点排行