c++ - 在 C++ 中检查文件是否存在

标签 c++ file-io filesystems file-permissions

目前我使用类似的东西:

#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/

相关文章:

python - 使用 python 识别两个文件中的坐标匹配

c++ - 如何使用 C++ 浏览目录以创建文件资源管理器

c++ - 如何像pygame一样限制sdl2 fps

c++ - 基类的更改需要重新编译派生类

c++ - 在其处理程序中捕获信号的最佳方法

c++ - 除了使用 inotify 之外如何递归监视目录

java - 如何使用 Java 下载文件?

java - 是否可以将对象以人类可读的格式发送到文件?

Python:如何将文件保存在不同的目录中?

ubuntu - 命令 'ls'内核源代码在哪里?