V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
ReputationZh
V2EX  ›  Linux

Linux 下用 C 语言对二进制文件操作,我想删除末尾 16 位数据(不是清零是删除),应该怎么办?

  •  
  •   ReputationZh · 2020-08-06 13:29:46 +08:00 · 2427 次点击
    这是一个创建于 1566 天前的主题,其中的信息可能已经有所发展或是发生改变。
    查阅了一上午资料,没找到解决办法 TAT 。
    8 条回复    2020-08-06 14:58:19 +08:00
    fmumu
        1
    fmumu  
       2020-08-06 13:45:52 +08:00 via Android
    truncate ?
    zyffy
        2
    zyffy  
       2020-08-06 14:06:16 +08:00
    ftruncate
    tomychen
        3
    tomychen  
       2020-08-06 14:14:01 +08:00
    new_size = getfilesize()-16;// 自己实现
    fread(data,size, oldfile);
    fwrite(data, new_size,oldfile);//or newfile
    julyclyde
        4
    julyclyde  
       2020-08-06 14:18:58 +08:00
    删除?右移?
    ReputationZh
        5
    ReputationZh  
    OP
       2020-08-06 14:22:14 +08:00
    @zyffy 这个函数的第一个参数是 int ? 有没有具体用法。
    xiadong1994
        6
    xiadong1994  
       2020-08-06 14:29:46 +08:00 via iPhone
    @ReputationZh man truncate
    nightwitch
        7
    nightwitch  
       2020-08-06 14:52:40 +08:00
    Cooky
        8
    Cooky  
       2020-08-06 14:58:19 +08:00 via Android
    truncate
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3203 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 13:23 · PVG 21:23 · LAX 05:23 · JFK 08:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.