加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux设置文件结束(缩小,截断,删除一些数据@ end)

发布时间:2020-12-14 00:51:40 所属栏目:Linux 来源:网络整理
导读:在 Windows中,有SetEndOfFile()API可以最终删除一些数据. 我如何在Linux中执行此操作? 我正在寻找的伪代码示例(特定于Linux): int fd = open("/path/to/file",O_RDWR);// file contents: "0123456789ABCDEF",16 byteslseek(fd,10,SEEK_CUR);// what's in t
在 Windows中,有SetEndOfFile()API可以最终删除一些数据.

我如何在Linux中执行此操作?

我正在寻找的伪代码示例(特定于Linux):

int fd = open("/path/to/file",O_RDWR);
// file contents: "0123456789ABCDEF",16 bytes
lseek(fd,10,SEEK_CUR);
// what's in the next line? (imaginary code)
syscall(what,fd,FD_SET_EOF);

close(fd);
//sync();
// now file on disk looks like "0123456789",10 bytes

解决方法

ftruncate(fd,10);

(不需要lseek调用.)

man 2 ftruncate

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读