| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3147 人关注过本帖
标题:如何将结构体转化成二进制形式写入文件? 用API的WriteFile函数
只看楼主 加入收藏
无名可用
Rank: 4
等 级:业余侠客
帖 子:79
专家分:259
注 册:2010-7-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
如何将结构体转化成二进制形式写入文件? 用API的WriteFile函数
如题 ,操作系统的作业,在网上搜了好长时间也没搜到,在这里请教一下
程序代码:
struct Student {
    char name[10];
    char age[3];
    char score[4];
};
bool WriteFile( void )
{
    // 输入三个学生信息
    printf( "输入三个学生信息" );
    printf( "姓名\t年龄\t成绩\n" );
    int stuNum = 3;
    Student* stu = new Student[stuNum];
    for( int i = 0; i < stuNum; ++ i ) {
        cin >> stu[i].name >> stu[i].age >> stu[i].score;
    }

    // 写入file 1
    DWORD dwResult;
    for( int i = 0; i < stuNum; ++ i ) {
        if(!WriteFile (hFile[0],  , strlen(Student), &dwResult, NULL))  /* 不知如何将结构体转化成二进制 */
        {
            printf("Could not write to file (error %d)\n", GetLastError());
            delete [] stu;
            return false;
        }
    }
    delete [] stu;
    return true;
}
搜索更多相关主题的帖子: 操作系统 二进制 结构体 color 时间 
2011-06-17 11:43
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:20 
差不多是
程序代码:
bool MyWriteFile( void )
{
    // 输入三个学生信息
    printf( "输入三个学生信息" );
    printf( "姓名\t年龄\t成绩\n" );
    int stuNum = 3;
    Student* stu = new Student[stuNum];
    for( int i=0; i<stuNum; ++i ) {
        cin >> stu[i].name >> stu[i].age >> stu[i].score;
    }

    // 写入file 1
    DWORD dwResult=0;
    if( !WriteFile(hFile[0],stu,stuNum*sizeof(stu[0]),&dwResult,NULL) || stuNum*sizeof(stu[0])!=dwResult )
        printf("Could not write to file (error %d)\n", GetLastError());

    delete[] stu;
    return stuNum*sizeof(stu[0])!=dwResult;
}

2011-06-18 11:11
szgg520
Rank: 5Rank: 5
等 级:职业侠客
威 望:3
帖 子:79
专家分:307
注 册:2011-6-13
收藏
得分:0 
二楼正解...

[url=http://www.]深圳复印机出租[/url]
2011-06-18 14:13
无名可用
Rank: 4
等 级:业余侠客
帖 子:79
专家分:259
注 册:2010-7-27
收藏
得分:0 
谢谢
2011-06-20 08:16
快速回复:如何将结构体转化成二进制形式写入文件? 用API的WriteFile函数
数据加载中...
 
   



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

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