用STL流操作文件

来源:互联网 发布:声道测试软件 编辑:程序博客网 时间:2024/06/13 13:01
template<class T>
class Prin
{
public:
    
void operator () (T v){cout<<v<<endl;}
}
;

fstream f(
"e:/c++lib/1.txt", ios::in);

istream_iterator
<char> be = f;
istream_iterator
<char> en;

f.close();

vector
<char> v(be, en);

for_each(v.begin(), v.end(), Prin
<char>());

Prin这个类是定义输出操作的函数对象,或者叫类函数,具体怎么叫我也不清楚

istream_iterator<char> be = f;   //将文件流赋值到一个输入流的迭代器

istream_iterator<char> en; 

vector<char> v(be, en);           //将流输入到vector中

这里有个值得注意的地方,上面这一句不能写成:

vector<char> v(istream_iterator<char> be(f), istream_iterator<char>());

因为编译器会把上面一句理解成这样

int v( int n(), int m());   //定义一个函数v 

原创粉丝点击