我查看了here中的ftruncate文档,以及here中的文档。在ibm link的例子中,我相应地实现了我的ftruncate,但它给出了Invalid Arguments错误。代码如下:

char const *path = "mozunit.txt";
int file_ = open(path, O_RDONLY, 0600);
int ftrunc_ = ftruncate(file_, 1);
cout<<strerror(errno)<<endl;

为什么?我试图在ftruncate中更改第二个参数,但没有成功。

最佳答案

ftruncate(2)手册页:

  EBADF or EINVAL
          fd is not open for writing.

看你是如何以只读方式打开文件的…

关于c++ - linux上的ftruncate提供无效参数错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19935395/

10-11 15:16