V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
veapon
V2EX  ›  问与答

c 语言读二进制文件的问题

  •  
  •   veapon · 2014-10-27 22:50:56 +08:00 · 2288 次点击
    这是一个创建于 3711 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近在学C语言,在处理二进制的时候碰到了点问题,很无语,搜了很久,换了几种方式都不行,望高手指点下。

    功能和简单,就是读一个1.jpg,然后把它到1.out.jpg里,代码如下,不知道哪里有问题...

    <script src=".js"></script>
    3 条回复    2014-10-27 23:23:55 +08:00
    SErHo
        1
    SErHo  
       2014-10-27 23:12:21 +08:00 via iPad   ❤️ 1
    把 fputs 改为 fwrite
    msg7086
        2
    msg7086  
       2014-10-27 23:16:51 +08:00
    1. 最好别一次读全文。
    定义一个buffer size,开一个循环,每次 bytesread = fread(buf, sizeof(char), buffer_size, fin)
    然后 fwrite(buf, sizeof(char), bytesread, fout)
    最后检查bytesread != buffer_size -> break

    2. fopen_s是VC的东西,不是C的。

    3. 发gist请加上后缀 binread[.c]。
    veapon
        3
    veapon  
    OP
       2014-10-27 23:23:55 +08:00
    哦,原来fputs是字符串,fwrite可以处理二进制的...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5331 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 08:29 · PVG 16:29 · LAX 00:29 · JFK 03:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.