在 C++ 中将向量写入 csv

use*_*225 4 c++

我正在尝试用 C++ 将向量写入 .csv Final,但 .csv 文件的格式错误。

我目前正在这样做:

    ofstream myfile(rtn);
    int vsize = returns.size();
    for(int n=0; n<vsize; n++)
     {
     myfile << returns[n] << '\t';
     myfile << "," ;
     }
Run Code Online (Sandbox Code Playgroud)

这是可行的,但它会像这样写向量:

a,b,c,d,(全部在一行但不同列)

我需要编写代码:

 a
 b
 c
 d
Run Code Online (Sandbox Code Playgroud)

全部在一列中,但位于不同的行上。有人对我如何去做这件事有建议吗?

谢谢你!

K.C*_*hen 5

您可以隐式循环该向量。将std::cout替换为std::ofstream以输出到文件。

#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>

int main() {

    std::vector<std::string> v;
    v.push_back("a");
    v.push_back("b");
    v.push_back("c");

    std::copy(v.begin(), v.end(), std::ostream_iterator<std::string>(std::cout, "\n"));


    return 0;
}
Run Code Online (Sandbox Code Playgroud)