| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 701 人关注过本帖
标题:关于结构写入文件
只看楼主 加入收藏
zabbey
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2007-10-10
收藏
 问题点数:0 回复次数:1 
关于结构写入文件
我定义了一个结构,里面有指针,像这个样子
typedef struct caption {
    int length;
    char *name;
};
现在要把这个结构写入文件,但是写到文件中直接是name指针写到了文件,我想在把结构写入到文件的时候把name指向的内容写入到文件,如何才能做到呢,不想分开写入文件(先把length写入,然后取name指向的内容再写入)。

[[italic] 本帖最后由 zabbey 于 2007-12-22 20:47 编辑 [/italic]]
搜索更多相关主题的帖子: 结构 文件 
2007-12-22 20:45
HJin
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:401
专家分:0
注 册:2007-6-9
收藏
得分:0 
complete sample code is written for you as below:
程序代码:
#include <stdio.h>
#include <string.h>


/**
you are storing a char-pointer in the struct,
so memory for name should be allocated outside
the struct.
*/
typedef struct caption
{
    int length;
    char *name;
};




int main(int argc, char** argv)
{
    struct caption c[3];
    char names[3][128] = 
    {
        "John Doe",
        "Jane M. Lequi",
        "Peter T. Campbell"
    };
    FILE* fp;
    const char* fname = "a.txt";
    int i;

    c[0].length = 1;
    c[0].name = names[0];
    c[1].length = 2;
    c[1].name = names[1];
    c[2].length = 3;
    c[2].name = names[2];

    fp = fopen(fname, "w");
    if(!fp)
    {
        // do something
    }

    for(i=0; i<3; ++i)
    {
        fprintf(fp, "%d %s\n", c[i].length, c[i].name);
    }

    fclose(fp);

    // check a.txt if you got the expected answer

    return 0;
}

I am working on a system which has no Chinese input. Please don\'t blame me for typing English.
2007-12-23 04:22
快速回复:关于结构写入文件
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.010720 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved