クロスプラットフォームであり、C++ 標準ライブラリに準拠することを意図した問題の解決策を実装しました。
bool isdir(const char *string) {
ofstream file(string, ios::out);
return file.fail();
}
それでも、ファイルが実際に書き込み可能な場合、プログラムstring
はその作業ディレクトリにある名前の空のファイルを開きます。どうすればこれを防ぐことができますか?
クロスプラットフォームであり、C++ 標準ライブラリに準拠することを意図した問題の解決策を実装しました。
bool isdir(const char *string) {
ofstream file(string, ios::out);
return file.fail();
}
それでも、ファイルが実際に書き込み可能な場合、プログラムstring
はその作業ディレクトリにある名前の空のファイルを開きます。どうすればこれを防ぐことができますか?
ファイルが C++ のディレクトリであるかどうかを検出する標準的な方法はありません。ただし、Boost.Filesystemを使用できます。携帯性に優れています。
編集:この質問は既にここで回答されているようです。