《Linux系统调用:truncate,ftruncate》

本文介绍了Linux系统调用truncate和ftruncate,用于设置文件大小。这两个调用可以将文件长度减小到指定长度,超出部分将被删除。如果文件长度小于指定长度,会在文件末尾填充空字节或创建文件空洞。truncate通过路径名操作文件,需要写权限,而ftruncate使用文件描述符,不改变文件偏移量。
摘要由CSDN通过智能技术生成

一、接口介绍

truncate 和 ftruncate 系统调用作用是将文件大小设置为length参数指定的值若文件当前长度大于参数length,调用将丢弃超出的部分,若小于参数length,调用将在文件尾部添加一系列空字节或是一个文件空洞

  1. truncate()是以路径名字字符串来指定文件,并要求可访问文件,且对文件有写权限若文件是符号链接,那么调用将对其进行解引用,
  2. ftruncate(),需要获取文件描述符指定该文件,该系统调用不会修改文件偏移量(还记得pread,pwrite吗 ?)

注意:对于给出的length如果超出了文件长度,是否添加空洞文件要看不同标准,一般来说是添加空洞,遇到直接返回错误也不要惊奇</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HarkerYX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值