关于copy函数的一个问题!哪位大哥进来给看看?先谢谢了!

wallywong 2004-08-12 11:48:54
下面是一个简单的例子它读取标准输入并将其回显在标准输出上使用无名的stream
iterator 对象和copy()泛型算法
#include <iterator>
#include <algorithm>
#include <iostream>
int main()
{
copy( istream_iterator< int >( cin ),
istream_iterator< int >(),
ostream_iterator< int >( cout ));
}
这个程序放在CBX Personal下面编译成功!
然后运行,但是不能得到期望的结果!
在输入一个字符串以后回车以后,字符串并没有被回显!
请问为什么会这样或者是说在执行的时候有什么需要特别注意的?
...全文
174 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
qwertasdfg123 2004-08-12
  • 打赏
  • 举报
回复
你输入的是int类型,而非string。
如果输入一些字符,肯定是要退出的。本身字符就不是int型。
系统是会对输入非法的字符进行处理的。
RookieStar 2004-08-12
  • 打赏
  • 举报
回复
迭代器是泛型的嘛,不是int的自然有问题。
wallywong 2004-08-12
  • 打赏
  • 举报
回复
我想可能是istream_iterator< int >(),对输入的字符串有默认的要求!
qwertasdfg123 2004-08-12
  • 打赏
  • 举报
回复
不是很明白你的意思?
flyerlxg 2004-08-12
  • 打赏
  • 举报
回复
学习学习!
wallywong 2004-08-12
  • 打赏
  • 举报
回复
没有说编译有问题!
是执行的时候觉得很奇怪!
wallywong 2004-08-12
  • 打赏
  • 举报
回复
编译是没有问题啊?
nirvana_li 2004-08-12
  • 打赏
  • 举报
回复
copy( istream_iterator< string >( cin ),
istream_iterator< string >(),
ostream_iterator< string >( cout ));

我用DEV—C++编译通过。
wallywong 2004-08-12
  • 打赏
  • 举报
回复
不是,不是我添加了string的!
一键如非数字字符程序就退出了!
wallywong 2004-08-12
  • 打赏
  • 举报
回复
哦,不好意思!
真实糊涂,忘记了!
qwertasdfg123 2004-08-12
  • 打赏
  • 举报
回复
如楼上的,换成string就可以了。
RookieStar 2004-08-12
  • 打赏
  • 举报
回复
这个能满足字符
RookieStar 2004-08-12
  • 打赏
  • 举报
回复
#include <iterator>
#include <algorithm>
#include <string>
#include <iostream>

using namespace std;

int main()
{
copy( istream_iterator< string >( cin ),
istream_iterator< string >(),
ostream_iterator< string >( cout ));
}
wallywong 2004-08-12
  • 打赏
  • 举报
回复
执行的结构还是很奇怪,好像只能接受数字!
我还是不很理解istream_iterator的用法!
不过,还是非常谢谢你qwertasdfg123!
wallywong 2004-08-12
  • 打赏
  • 举报
回复
只能接受一个字符就退出了吗?
qwertasdfg123 2004-08-12
  • 打赏
  • 举报
回复
先按CTRL+Z
接着回车

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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