如果要输出vector中的数据我们可以通过循环语句输出,更加简便的方法是利用copy函数直接输出,例子:
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int_tmain(int argc, _TCHAR* argv[])
{
//利用copy函数快速输出向量容器中的数据
vector<int> v;
int n=5;
cout<<"请输入"<<n<<"个整数"<<endl;
int i=0;
int nValue;
while(i<n)
{
cin>>nValue;
v.push_back(nValue);
++i;
}
//输出
cout<<"向量容器中的数据为:"<<endl;
copy(v.begin(),v.end(),ostream_iterator<int>(cout,"\n"));
return 0;
}
ostream_iterator是流迭代器.
利用copy函数不仅可以将vector容器中的数据直接输出到屏幕,而且还可以直接输出到文件:
在上例中添加头文件#include <fstream>。
在return 0;语句前面添加如下代码:
ofstream outFile;
outFile.open("test.txt",ios::out);
copy(v.begin(),v.end(),ostream_iterator<int>(outFile,"\n"));
outFile.close();
数据就会保存到test.txt文件中。