istream_iteratord无法往vector中插入数据的问题

fengyvn 2007-07-27 10:42:29
int main()
{

vector<int> //往VEC1中插入数据 vec1((istream_iterator<int>(cin)),istream_iterator<int>());

copy(vec1.begin(),vec1.end(),ostream_iterator<int>(cout,"\n"));


vector<float> //往VEC2中插入数据 vec2((istream_iterator<float>(cin)),istream_iterator<float>());
copy(vec2.begin(),vec2.end(),ostream_iterator<float>(cout,"\n"));

system("pause");
}


现在的问题是,vec1可正常插入数据,vec2却死活插不进去,这是什么原因?
...全文
248 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengyvn 2007-07-30
  • 打赏
  • 举报
回复
谢了哥们。
taodm 2007-07-30
  • 打赏
  • 举报
回复
“以非法字符结束”,兄弟,你真狠啊!
应该是用回车-ctrl_z/F6-回车结束输入。

就你这么,算恶搞,那么代码得
cin.clear();
cin.sync();
fengyvn 2007-07-30
  • 打赏
  • 举报
回复
随便输入数字1 ,2,3,以非法字符结束,可以插入vec1中,输出插入数字。

清除cin,然后执行
vector<float> vec2((istream_iterator<float>(cin)),istream_iterator<float>())
的时候没有输入光标,直接下一步了。
dadatech 2007-07-30
  • 打赏
  • 举报
回复
提问的智慧


建议楼主之间删除对vec1的操作,确认就是cin的问题,集中解决就是了。
taodm 2007-07-30
  • 打赏
  • 举报
回复
怎么个不行法啊?你光说不行,那等于废话。
你输入啥,输出啥?
fengyvn 2007-07-29
  • 打赏
  • 举报
回复
d
fangrk 2007-07-28
  • 打赏
  • 举报
回复
在插入vec2前:cin.clear();

因为vec1的构造就是依靠cin的失败来结束的,既然cin已经失败,再次用cin来插入就不成功了。所以在vec2前要清理cin的标志位。
fengyvn 2007-07-28
  • 打赏
  • 举报
回复
vector<int> vec1((istream_iterator<int>(cin)),istream_iterator<int>());

copy(vec1.begin(),vec1.end(),ostream_iterator<int>(cout,"\n"));

//往VEC2中插入数据
cin.clear();
vector<float> vec2((istream_iterator<float>(cin)),istream_iterator<float>());
copy(vec2.begin(),vec2.end(),ostream_iterator<float>(cout,"\n"));

system("pause");


还是不行啊。
fengyvn 2007-07-27
  • 打赏
  • 举报
回复
排版有问题

//往VEC1中插入数据
vector<int> vec1((istream_iterator<int>(cin)),istream_iterator<int>());

copy(vec1.begin(),vec1.end(),ostream_iterator<int>(cout,"\n"));

//往VEC2中插入数据
vector<float> vec2((istream_iterator<float>(cin)),istream_iterator<float>());
copy(vec2.begin(),vec2.end(),ostream_iterator<float>(cout,"\n"));

system("pause");
}

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧