手机
当前位置:查字典教程网 >编程开发 >C语言 >简要对比C语言中的truncate()函数与ftruncate()函数
简要对比C语言中的truncate()函数与ftruncate()函数
摘要:C语言truncate()函数:改变文件大小头文件:#include定义函数:inttruncate(constchar*path,off_...

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

头文件:

#include <unistd.h>

定义函数:

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()函数:改变文件大小

头文件:

#include <unistd.h>

定义函数:

int ftruncate(int fd, off_t length);

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

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

错误代码:

1、EBADF 参数fd 文件描述词为无效的或该文件已关闭。

2、EINVAL 参数fd 为一socket 并非文件, 或是该文件并非以写入模式打开。

【简要对比C语言中的truncate()函数与ftruncate()函数】相关文章:

C语言文件操作函数freopen详细解析

C语言文件操作函数大全(超详细)

基于Linux系统调用--getrlimit()与setrlimit()函数的方法

浅析C++中的虚函数

浅析C语言中的内存布局

解析c语言switch中break语句的具体作用

C语言中宏定义使用的小细节

C语言中函数与指针的应用总结

C++中的函数指针与函数对象的总结

在c和c++中实现函数回调

精品推荐
分类导航