0

次を使用するWindowsフォームアプリケーションがあります

ofstream myfile;
myfile.open("foo.csv");
myfile << "whatever";
myfile.close()

ファイルは、私のコンピューター上で、アプリケーションが存在するのと同じディレクトリに問題なく出力されます (コンパイル後に自動的にフォルダーを解放します)。ただし、アプリケーションをコンピューターの別の場所に移動したり、Windows セットアップ ファイルを使用して配布されている場合はターゲット コンピューターに移動すると、ファイルを出力できません。誰もこれを行う方法を知っていますか?

4

1 に答える 1

0

どのコンピュータでも問題なく動作するはずです。

考えられる原因は次の 2 つです。

1) ファイルの書き込みを妨げるエラーが発生している、または

2) ファイルが期待する場所に書き込まれていない

エラーがないか必ず確認してください。例えば:

std::ofstream outFile("foo.csv");
if (!outFile)
{
   // Open failed - take error handling action.
}

補遺:これはエラーメッセージを出力します:

std::ofstream outFile("foo.csv");
if (!outFile)
{
   // Open failed - take error handling action.
   cout << "error reading file foo.csv" << " error: " << strerror(errno) << endl;
}
于 2012-04-24T14:49:17.757 に答える