我为这个问题实现了一个解决方案,它意味着跨平台并遵循 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。它的便携性很好。
编辑:似乎这个问题已经在这里得到了回答。