我是一个关于C ++的新鲜事,我遇到了一个问题,我想使用以下代码(来自Cplusplus),但是要将我的结果输出到新文件或使用向量来保存它(我更喜欢使用向量), 我该怎么办? 谢谢!
// ostream_iterator example
#include <iostream> // std::cout
#include <iterator> // std::ostream_iterator
#include <vector> // std::vector
#include <algorithm> // std::copy
int main () {
std::vector<int> myvector;
for (int i=1; i<10; ++i) myvector.push_back(i*10);
std::ostream_iterator<int> out_it (std::cout,", ");
std::copy ( myvector.begin(), myvector.end(), out_it );
return 0;
}
答案 0 :(得分:4)
您可以使用std::ofstream
代替std::cout
。
这是您修改的代码,用于将输出写入文件。
// ostream_iterator example
#include <iostream> // std::cout
#include <iterator> // std::ostream_iterator
#include <vector> // std::vector
#include <algorithm> // std::copy
#include <fstream> // std::ofstream
int main () {
std::vector<int> myvector;
for (int i=1; i<10; ++i) myvector.push_back(i*10);
std::ofstream of("myoutput.txt");
std::ostream_iterator<int> out_it (of,", ");
std::copy ( myvector.begin(), myvector.end(), out_it );
return 0;
}
要将输出复制到vector
,请使用back_inserter
。
std::vector<int> foo;
std::copy (myvector.begin(), myvector.end(), std::back_inserter(foo));
您也可以直接复制:
std::vector<int> foo = myvector;