ftruncate函数详解

代码实例:

#include <unistd.h>
#include <fcntl.h>

#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
#include <string.h>

extern int errno;

#define ERR_EXIT(msg) \
do { \
    fprintf(stderr, "[%s][%d] %s : %s\n",__FILE__,__LINE__,\
                        msg,strerror(errno)); \
    exit(EXIT_FAILURE); \
}while ( 0 )

int main( void )
{
    int fd = -1;
    
    if ( -1 == (fd=open("test.txt", O_RDWR)) )
        ERR_EXIT("open");
    
    if ( ftruncate(fd,18695000000) == -1 )
        ERR_EXIT("ftruncate");

    lseek(fd, 0, SEEK_END);
    write(fd, "!", 1);
    
    close(fd);
}
以上代码:ftruncate改变文件大小为18G左右,在windows下看文件大小如下图所示,显示文件确实为改变之后的大小,而且拷贝的时候也是18G大小

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值