Linux上的ftruncate给出了无效的参数错误

时间:2013-11-12 17:04:09

标签: c++ linux

我查看了来自hereftruncate文档以及来自here的文档。对于IBM链接,我相应地实现了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中的第二个参数,但无济于事。

1 个答案:

答案 0 :(得分:8)

来自ftruncate(2)手册页:

  EBADF or EINVAL
          fd is not open for writing.

看你如何以只读方式打开文件......