cin循环输入控制问题
之前写一个简单的输入节点值自动生成链表的测试程序,发现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后只需要一次回车。结果图如下
VC++6.0使用ctrl+z VC++6.0使用ctrl+d
使用Visual Studio 2010Ctrl+z和Ctrl+d都只需要一次回车就结束了。
VS 2010 Ctrl+z VS 2010 Ctrl+d
总结,改用ctrl+d。
learn++