利用copy函数简单快速输出/保存vector向量容器中的数据

时间:2022-07-16 06:23:47

如果要输出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文件中。