简要对比C语言中的truncate()函数与ftruncate()函数

2025-05-29 0 45

C语言truncate()函数:改变文件大小
头文件:

?

1
#include <unistd.h>

定义函数:

?

1
int truncate(const char * path, off_t length);

函数说明:truncate()会将参数path 指定的文件大小改为参数length 指定的大小. 如果原来的文件大小比参数length 大, 则超过的部分会被删去.

返回值:执行成功则返回0, 失败返回-1, 错误原因存于errno.

错误代码:
1、EACCESS 参数path 所指定的文件无法存取。
2、EROFS 欲写入的文件存在于只读文件系统内。
3、EFAULT 参数path 指针超出可存取内存空间。
4、EINVAL 参数path 包含不合法字符。
5、ENAMETOOLONG 参数path 太长。
6、ENOTDIR 参数path 路径并非一目录。
7、EISDIR 参数path 指向一目录。
8、ETXTBUSY 参数path 所指的文件为共享程序, 而且正被执行中。
9、ELOOP 参数path 有过多符号连接问题。
10、EIO I/O 存取错误。

C语言ftruncate()函数:改变文件大小
头文件:

?

1
#include <unistd.h>

定义函数:

?

1
int ftruncate(int fd, off_t length);

函数说明:ftruncate()会将参数fd 指定的文件大小改为参数length 指定的大小。参数fd 为已打开的文件描述词,而且必须是以写入模式打开的文件。如果原来的文件大小比参数length 大,则超过的部分会被删去。

返回值:执行成功则返回0, 失败返回-1, 错误原因存于errno.

错误代码:
1、EBADF 参数fd 文件描述词为无效的或该文件已关闭。
2、EINVAL 参数fd 为一socket 并非文件, 或是该文件并非以写入模式打开。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 简要对比C语言中的truncate()函数与ftruncate()函数 https://www.kuaiidc.com/105856.html

相关文章

发表评论
暂无评论