已有140人关注
if (fwrite(&info[i], sizeof(struct address_list), 1, fp) != 1)是什么意思,为什么要加!=1这个条件,加了代表什么
发表在C语言答疑区 2016-11-20
是否精华
版块置顶:

#include <stdio.h>

#include<process.h>

struct address_list /*定义结构体存储学生成绩信息*/

{

    char name[10];

    char adr[20];

    char tel[15];

} info[100];

void save(char *name, int n) /*自定义函数save*/

{

    FILE *fp; /*定义一个指向FILE类型结构体的指针变量*/

    int i;

    if ((fp = fopen(name, "wb")) == NULL) /*以只写方式打开指定文件*/

    {

        printf("cannot open file\n");

        exit(0);

    }

    for (i = 0; i < n; i++)

        if (fwrite(&info[i], sizeof(struct address_list), 1, fp) != 1) /*将一组数据输出到fp所指的文件中*/

            printf("file write error\n"); /*如果写入文件不成功,则输出错误*/

    fclose(fp); /*关闭文件*/

}

void show(char *name, int n) /*自定义函数show*/

{

    int i;

    FILE *fp; /*定义一个指向FILE类型结构体的指针变量*/

    if ((fp = fopen(name, "rb")) == NULL) /*以只读方式打开指定文件*/

    {

        printf("cannot open file\n");

        exit(0);

    } 

    for (i = 0; i < n; i++)

    {

        fread(&info[i], sizeof(struct address_list), 1, fp); /*从fp所指向的文件读入数据存到数组score中*/

        printf("%15s%20s%20s\n", info[i].name, info[i].adr,info[i].tel);

    }

    fclose(fp); /*以只写方式打开指定文件*/

}

main()

{

    int i, n; /*变量类型为基本整型*/

    char filename[50]; /*数组为字符型*/

    printf("how many ?\n");

    scanf("%d", &n); /*输入学生数*/

    printf("please input filename:\n");

    scanf("%s", filename); /*输入文件所在路径及名称*/

    printf("please input name,address,telephone:\n");

    for (i = 0; i < n; i++) /*输入学生成绩信息*/

    {

        printf("NO%d", i + 1);

        scanf("%s%s%s", info[i].name, info[i].adr, info[i].tel);

        save(filename, n); /*调用函数save*/

    }

    show(filename, n); /*调用函数show*/

}


分享到:
精彩评论 4
DJ~杺誶_1479625762
学分:5 LV1
2016-11-23
沙发

求解答

DJ~杺誶_1479625762
学分:5 LV1
2016-11-24
板凳

求解答

again
学分:250 LV4
2016-11-29
地板

判断写入是否成功。
fwrite 这个函数的返回值,表示写入成功的数量。
这个例子中,如果写入没有问题 返回值应该和第三个参数相同(即“1”)。

首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照