C++ 代码创建 CSV 文件,但不写入

C++ Code Creates CSV file, but does not write to it

我正在尝试学习如何将数据写入 C++ 文件,在本例中为 CSV 文件。目前我的代码将在我选择的位置创建文件,但是当我打开文件时,它是一个空白文档。这里的任何见解将不胜感激!谢谢。

#include <iostream>
#include <fstream>
#include <string>

using namespace std;


const char *path = "/Users/eitangerson/desktop/Finance/ex2.csv";
ofstream file(path);
//string filename = "ex2.csv";




int main(int argc, const char * argv[]) {
    file.open(path,ios::out | ios::app);
    file <<"A ,"<<"B ,"<< "C"<<flush;
    file<< "A,B,C\n";
    file<<"1,2,3";
    file << "1,2,3.456\n";
    file.close();



    return 0;
}

我能够通过声明文件对象而不是初始化它来让它工作。看看:

#include <iostream>
#include <fstream>
#include <string>

using namespace std;


const char* path = "ex2.csv";
ofstream file;

//string filename = "ex2.csv";


int main(int argc, const char* argv[]) {
    file.open(path, ios::in | ios::app);
    file << "A ," << "B ," << "C" << flush;
    file << "A,B,C\n";
    file << "1,2,3";
    file << "1,2,3.456\n";
    file.close();

    return 0;
}

所以你走在正确的道路上。我还建议您不要使用全局变量。除此之外你应该一切顺利!

编辑:我更改了版本中的路径,因此我可以在项目文件夹中输入文字。