C++ istream_iterator以及cin输入的一些问题
来源:互联网 发布:以下不属于数据库系统 编辑:程序博客网 时间:2024/05/10 07:45
#include <iostream>#include <iterator>#include <string>#include <vector>#include <fstream>#include <algorithm>using namespace std;int main(){istream_iterator <string> is(cin);istream_iterator <string> eof;vector<string> text;copy(is, eof, back_inserter(text));sort(text.begin(),text.end());ostream_iterator <string> os(cout, " ");copy(text.begin(),text.end(),os);return 0;}另外可以对文件进行操作
ifstream in_file("in.txt"); //这里就相当于UNIX里的fopen函数,打开一个文件流 ofstream out_file("in.txt"); istream_iterator<string> is(in_file); istream_iterator<string> eof; vector<string> text; copy(is, eof, back_inserter(text)); sort(text.begin(), text.end()); ostream_iterator<string> os(out_file, " "); copy(text.begin(), text.end(), os);
另外在做第一段代码的测试时候遇到一个问题,就是没有办法终止cin输入
可以用ctrl+z或者F6
另外在论坛里看到了解决的办法
点击打开链接
#include <iostream>#include <algorithm>#include <vector>#include <iterator>#include <functional>#include <iomanip> //noskipws定义于其中using namespace std;// 这个copy_if_not跟你的copy_break_at()完全一样template <class InputIterator, class OutputIterator, class Pred>void copy_if_not(InputIterator ifirst, InputIterator ilast, OutputIterator ofirst, Pred pred){while ( ifirst != ilast && !pred(*ifirst))*ofirst++ = *ifirst++;}int main(){ vector<char> cv; cin >> noskipws; // 注意这里 istream_iterator<char> is(cin), es; copy_if_not(is, es, back_inserter(cv), bind2nd(equal_to<char>(), '\n')); //也可以用 // copy_if(is, es, back_inserter(cv), bind2nd(not_equal_to<char>(), '\n')); cout << "End of input" << endl << "Now output:" << endl; copy(cv.begin(), cv.end(), ostream_iterator<char>(cout)); return 0;}
不忽略空格和换行的输入,另外在遇到换行符时,结束读取输入
0 0
- C++ istream_iterator以及cin输入的一些问题
- n=0,cin>>c[n++]是什么意思?还有输入成绩的一些问题
- cin输入的问题
- 关于istream_iterator<int>(cin)和istream_iterator<int>()的一点分析
- 标准输入cin的返回值以及while(cin>>x)的问题
- 标准输入cin的返回值以及while(cin>>x)的问题
- istream_iterator绑定到cin流上后怎样结束输入
- 关于cin输入的问题
- C++ cin输入的问题
- 如何使用istream_iterator将cin转到vector? (C/C++) (STL)
- cin输入操作的一些细节
- cin>>i的返回值的问题 & cin输入流
- 标准输入cin的返回值以及读入未知数目数据的问题
- cin.get()处理输入的问题
- C++中cin输入的问题
- c++cin输入
- cin输入问题
- 输入问题 cin
- 行欣黄阜芽瞧研兜刃邻越室巢妒仄
- 酉椅揽瞧久阜扇遗字撼惹涯仔儇倍
- 等远链对链炭痉瘴陕抢式蒂瘴四囤
- Android xml资源文件中@、@android:type、@*、?、@+含义和区别
- ajaxFileUpload+struts2实现多文件上传
- C++ istream_iterator以及cin输入的一些问题
- OpenNI1.5获取华硕XtionProLive深度图和彩色图并用OpenCV显示
- 关于抽象行数
- oracle中的decode的使用
- structs2.3.16的一个示例
- 暑期0后言吸中的我也膛
- 大规模时间是什,当电脑某
- 代理(proxy)模式
- 惊呆)用,那使绳号给擦