2

ファイルを作成できるか、データを書き込むことができるかを確認するにはどうすればよいですか?これは私のコードですが、ファイルが書き込み可能かどうかは処理できないと思います...誰か教えてください、その方法を教えてください。

bool joinFiles(const char * outFile) {
try {
    ofstream arrayData(outFile);
    //do something
    // ...
    //

    // write data
    arrayData << "blahblah" << endl;   

} catch (const char *ex) {
    return false;
}
return true;
}
4

1 に答える 1

4

ファイルを作成できるか、データを書き込むことができるかを確認するにはどうすればよいですか?

ストリームはデフォルトでは例外をスローしません(を介して例外をスローするように構成できますstd::basic_ios::exceptions())ので、次を使用してファイルが開かれているかどうかを確認してくださいstd::ofstream::is_open()

ofstream arrayData(outFile);
if (arrayData.is_open())
{
    // File is writeable, but may not have existed
    // prior to the construction of 'arrayData'.

    // Check success of output operation also.
    if (arrayData << "blahblah" << endl)
    {
        // File was opened and was written to.
        return true;
    }
}
// File was not opened or the write to it failed.
return false;
于 2013-03-24T15:16:51.417 に答える