Код C ++ Создает файл CSV, но не записывает в него - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь научиться записывать данные в файл на 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;
}

1 Ответ

0 голосов
/ 09 мая 2020

Мне удалось заставить его работать, объявив объект файла вместо его инициализации. Взгляните:

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

Значит, вы на правильном пути. Я бы также посоветовал вам не использовать глобальные переменные. В остальном вам должно быть хорошо go!

РЕДАКТИРОВАТЬ: Я изменил путь в своей версии, чтобы я мог просто написать слово в папке проекта.

...