我正在尝试将std::fstream用于io进行归档,并且如果文件尚不存在,我想创建该文件。

  std::fstream my_stream
  my_stream.open("my_file_name",std::fstream::binary | std::fstream::in | std::fstream::out);
  if(!my_stream)
      std::cout<<"error"<<strerror(errorno);

我得到这个结果:
“没有这样的文件或目录。”

在这种情况下如何创建文件?

最佳答案

您在对fstream::open()的调用中指定了std::fstream::in。这是known强制其要求现有文件。

从您的std::fstream::in参数中删除mode,或者除了其他标志之外还指定std::fstream::trunc

关于c++ - std::fstream不创建文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8835888/

10-12 20:57