gpt4 book ai didi

c++ - 如何使用 ostream_iterator<> 将结果输出到新文件?

转载 作者:搜寻专家 更新时间:2023-10-31 01:05:12 25 4
gpt4 key购买 nike

我是 C++ 的新手,我遇到了一个问题,我想使用以下代码(来自 Cplusplus )但是要将我的结果输出到一个新文件或使用一个 vector 来保存它(我更喜欢使用一个 vector ), 我应该怎么办?谢谢!

// 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;
}

最佳答案

您可以使用 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;

关于c++ - 如何使用 ostream_iterator<> 将结果输出到新文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22876893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com