V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bobobe
V2EX  ›  C

请教 c 语言把 malloc 申请的内存块写入各种数据后存进文件,但是从文件中读出来时发现数据的位置有变动。即无法读取正确的数据

  •  
  •   bobobe · 2015-12-13 16:42:22 +08:00 · 1724 次点击
    这是一个创建于 3061 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我是用 fwrite 和 fread 写入和读二进制文件的,写的时候是传进去内存首地址
    23 条回复    2015-12-14 18:45:48 +08:00
    znoodl
        1
    znoodl  
       2015-12-13 16:45:46 +08:00 via iPhone
    又一个耍流氓的……
    msg7086
        2
    msg7086  
       2015-12-13 16:49:05 +08:00
    是你代码写错了。
    比如这里你就写得不对,应该这样写才行。
    lincanbin
        3
    lincanbin  
       2015-12-13 17:00:11 +08:00
    2 楼说得没错,但是 2 楼给出的解决方案我觉得可能不太合适,应该这么写才比较优雅。
    allan888
        4
    allan888  
       2015-12-13 17:07:00 +08:00
    3 楼拼错了一个变量名没法编译,帮你改了,现在可以了,不谢。
    shuax
        5
    shuax  
       2015-12-13 17:13:56 +08:00
    4 楼明明写的是 java 代码,欺负我们看不懂啊?
    ryd994
        6
    ryd994  
       2015-12-13 18:25:07 +08:00 via Android
    其实用 mmap 更方便。改成这样就好了
    bdbai
        7
    bdbai  
       2015-12-13 19:24:19 +08:00 via iPhone
    别人有封装好的轮子,没这么麻烦,快试试吧。地址
    Cloudee
        8
    Cloudee  
       2015-12-13 19:36:49 +08:00
    你 fwrite 的时候参数错啦,第个参数不应该是,应该是
    sean10
        9
    sean10  
       2015-12-13 20:58:14 +08:00
    楼主还是好好看下怎么提问吧,别说你的推测,拿代码来说话
    sean10
        10
    sean10  
       2015-12-13 21:04:39 +08:00
    上面后一句好像语气有点歪了,不好意思……顺便推荐一本《提问的智慧》
    mikicomo
        11
    mikicomo  
       2015-12-13 22:08:25 +08:00
    5 楼你到底懂不懂呀,我看 4 楼下的 python 好不好
    @shuax
    iamfredng
        12
    iamfredng  
       2015-12-13 23:51:56 +08:00
    12345 楼的都不对,我这样写才对。
    hei1000
        13
    hei1000  
       2015-12-14 00:06:54 +08:00
    看到上面的回复后,楼主的内心一定是崩溃的
    Viztor
        14
    Viztor  
       2015-12-14 00:11:54 +08:00
    @hei1000 应该只是在提示楼主把代码 po 上来吧。
    hei1000
        15
    hei1000  
       2015-12-14 00:15:25 +08:00
    @Viztor 一个也就算了,码楼码的那么整齐就是聚众调戏了 :)
    sleeperqp
        16
    sleeperqp  
       2015-12-14 00:16:14 +08:00
    请看 序列化与反序列化
    Viztor
        17
    Viztor  
       2015-12-14 00:18:11 +08:00
    @hei1000 多好玩 (・ω・)ノ
    hei1000
        18
    hei1000  
       2015-12-14 00:19:47 +08:00
    @Viztor 是蛮好玩的,所以说楼主看到回复内心一定是崩溃的
    dogfeet
        19
    dogfeet  
       2015-12-14 09:19:45 +08:00
    写入的数据中有指针吗?
    zhicheng
        20
    zhicheng  
       2015-12-14 09:47:28 +08:00 via Android
    我来告诉大家一个惊天大秘密, malloc 返回的内存地址,每次都不一样!
    VOID001
        21
    VOID001  
       2015-12-14 11:03:32 +08:00
    楼主你需要的是这个
    http://catb.org/~esr/faqs/smart-questions.html
    或者中文版 https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way
    (给楼主一个改过的机会 ,逃
    paw
        22
    paw  
       2015-12-14 13:03:21 +08:00
    RTFM
    lcsoft
        23
    lcsoft  
       2015-12-14 18:45:48 +08:00
    数据怎么存的,怎么写到文件里的,都没描述出来。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   802 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:34 · PVG 04:34 · LAX 13:34 · JFK 16:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.