cin循环输入控制问题

时间:2022-07-05 14:35:55

之前写一个简单的输入节点值自动生成链表的测试程序,发现cin的输入控制好像在VC++6.0和VS2010中不一样,特此记录。

现在有以下代码:

        vector<int> ivec;
int tmp ;
while(cin >> tmp)
{
ivec.push_back(tmp);
}
vector<int>::iterator iter = ivec.begin();
while(iter != ivec.end())
{
cout << *iter++ ;
if(iter != ivec.end())
cout << "->";
}
cout << endl;

VC++6.0中输入数据结束使用ctrl+z后需要连续两次回车,而使用ctrl+d后只需要一次回车。结果图如下

cin循环输入控制问题 cin循环输入控制问题

VC++6.0使用ctrl+z                 VC++6.0使用ctrl+d

使用Visual Studio 2010Ctrl+z和Ctrl+d都只需要一次回车就结束了。

cin循环输入控制问题      cin循环输入控制问题

VS 2010 Ctrl+z                 VS 2010 Ctrl+d

总结,改用ctrl+d。