開発者の備忘

「起」と「結」しか書かないので詳細はご自分でお調べください

【C++】定数定義したファイル名をパラメータとしてファイルを出力しようとするとエラーになる

後で調べる用のmemoなので未解決です。

あらすじ

memo程度に。
職場でファイル出力処理を作成。
でも、ファイルが開けない。
しらべてみると、引数に指定しているファイル名が悪さをしているみたい。
(コードはうろ覚えなのであまりあてにならない。)

// 定数定義
const char* OUTPUT_ENGINE_FILE = "./bin/engine.bin"

void createEngineFile()
{
    ~ 中略 ~

    ofstream outputFile(OUTPUT_ENGINE_FILE, std::ios::binary)

    if(!outputFile)
    {
    cout << "file open failed" << endl;
    }
}

試した結果

以下のように直接指定するとうまく出力できた。

// 定数定義
const char* OUTPUT_ENGINE_FILE = "./bin/engine.bin"

void createEngineFile()
{
    ~ 中略 ~

    ofstream outputFile("./bin/engine.bin", std::ios::binary)

    if(!outputFile)
    {
    cout << "file open failed" << endl;
    }
}

なぜだろう。
参照型だからか?定数はポインタに格納してるし。


そもそも1日前にC++始めたばかりでなにもわからない状態なので、
勉強してからこの問題に挑む予定。