目前我使用类似的东西:
#include <sys/stat.h>
#include "My_Class.h"
void My_Class::my_function(void)
{
std::ofstream my_file;
struct stat file_info;
if ( filename_str.compare("")!=0 &&
stat(filename_str.c_str(),&file_info) == 0 )
{
my_file.open(filename_str.data(),std::ios::trunc);
//do stuff
my_file.close();
}
else if ( filename_str.compare("")==0 )
{
std::cout << "ERROR! ... output filename not assigned!" << std::endl;
}
else
{
std::cout << "ERROR! File :" << std::endl
<< filename_str << std::endl
<< "does not exist!!" << std::endl;
}
}
...这是一个不错的方法,还是有更好的选择?如果我没有读取该文件的权限,我似乎可以随意使用权限。
这不是作业,问题,这是关于最佳实践的问题。
最佳答案
我会使用 boost::filesystem 结构。它们不仅是跨平台的,而且是下一个标准库的一部分。
关于c++ - 在 C++ 中检查文件是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3622030/