0

我的虚拟文件系统提取器有问题。

ofstream ofs(path, ios::out|ios::binary);

ofs.write(file, length);
ofs.close();

路径是示例“data/char/actormotion.txt”,应该在目录 data/char/ 文件中创建名为 actormotion.txt 的文件,但什么也没做。

4

2 回答 2

0

首先检查它是否打开

      std::ofstream ofs(path, ios::out|ios::binary);
      if (ofs.is_open())
      {
// write stuff
        ofs.close();
      }
      else
      {
        std::cout << "Error opening file";
      }
于 2013-09-07T21:06:59.020 回答
-1

更有可能文件没有打开。bool is_open()你可以用方法检查这个。

建议打开流后检查其状态以确保一切顺利:

ofstream ofs(path, ios::out|ios::binary);
if ( (ofs.rdstate() & std::ofstream::failbit ) != 0 ){
    //stream opened successfully, do the stuff...

在 Windows 系统中,您可以GetLastError()在查询错误代码后立即调用。

于 2013-09-07T20:54:46.850 回答