手机
当前位置:查字典教程网 >编程开发 >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语言中函数声明与调用问题

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

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

strcat函数与strncat函数的深入分析

浅析C语言中的setjmp与longjmp函数

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

深入分析C语言中结构体指针的定义与引用详解

浅析C++中的虚函数

C++运算符重载 成员函数与友元函数详解

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

精品推荐
分类导航