#include <unistd.h>
#include <sys/types.h>
int truncate(const char *path, off_t length);
int ftruncate(int fd, off_t length);
作用:用于拓展或截断文件。将参数path 指定的文件大小改为参数length 指定的大小。如果原来的文件大小比参数length大,则超过的部分会被删去。与lseek函数拓展文件的区别是,该函数在拓展文件后不再需要向文件进行额外的写操作。
0 成功 -1失败
//代码
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>int main(int argc, char* argv[])
{if(argc < 3){printf("a.out filename 111\n");exit(1);}long int len = strtol(argv[2], NULL, 10); //需将字符串转化为10进制数int aa = truncate(argv[1], len);if(aa == -1){perror("truncate");exit(1);}return 0;
}
#include <stdio.h> // C库函数 rename不是系统函数
int rename(const char *oldpath, const char *newpath);
作用:对文件进行重命名
0 成功 -1 失败