考研论坛

 
查看: 1565|回复: 18
打印 上一主题 下一主题

张二狗子,我要zbl,看你能不能看懂.

[复制链接]

7

主题

184

帖子

641

积分

中级战友

Rank: 3Rank: 3

精华
0
威望
50
K币
591 元
注册时间
2017-2-21
跳转到指定楼层
楼主
发表于 2018-3-1 20:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
张二狗子,我要装*了!
当主函数第一次运行时.

结果:

d盘出现一个文件.


注释掉第一句,放开第二句.

结果:


代码如下,devc++下通过:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>



struct _student
{
        int id;//学生的id号,唯一且终身的.
        char* name;//名字长度难确定,用指针最好.
};
typedef struct _student student;

//打印菜单项
void print_menu(void)
{
        printf("学号\t\t ");
        printf("姓名\n");
}
//打印学生
void print_student(student* p, int n)
{
        int i;
        for (i = 0; i < n; i++)
        {
                printf("%d\t\t ", p.id);
                printf("%s\n", p.name);
        }
}



//内存拷贝到磁盘
void stack_to_file(student* p, int n, FILE* fp)
{
        int i = 0;
        for (i = 0; i < n; i++)
        {
                fprintf(fp, "id=%d\n", p.id);
                fprintf(fp, "name=%s\n", p.name);
        }
        return;
}

//磁盘拷贝到内存.
void file_to_stack(student* p, int n, FILE* fp)
{
        int i = 0;
        for (i = 0; i < n; i++)
        {
                fscanf(fp, "id=%d\n", &p.id);
                fscanf(fp, "name=%s\n", p.name);
        }
        return;
}

void free_func(student** p, int n)
{
        int i;
        for (i = 0; i < n; i++)
        {
                if ((*p).name != NULL)
                        free((*p).name);
        }

        if (*p != NULL)
        {
                free(*p);
                *p = NULL;
        }
}

//判断文件打开是否成功.
void fopen_func(FILE** fp)
{
        if ((*fp = fopen("d:\\aaa.txt", "r+")) != NULL)
                fprintf(stderr, "文件打开成功.\n");
        else
                fprintf(stderr, "文件打开失败.\n");
        return;
}
//关闭文件.
void fclose_func(FILE** fp)
{
        if (*fp != NULL)
        {
                fclose(*fp);
                *fp = NULL;
                fprintf(stderr, "文件关闭成功.\n");
        }
        else
                        fprintf(stderr, "文件关闭失败.\n");
        return;
}


void input_disk()
{
        FILE* fp = NULL;
        fopen_func(&fp);
        student* p = (student*)malloc(sizeof(student));
        (*p).id = 1001;
        (*p).name = (char*)malloc(9 * sizeof(char));
        strcpy((*p).name, "张二狗子");
        stack_to_file(p, 1, fp);
        free_func(&p, 1);
        fclose_func(&fp);
        return ;
}

void output_srceen()
{
        FILE* fp = NULL;
        fopen_func(&fp);
        student* p = (student*)malloc(sizeof(student));
        (*p).name = (char*)malloc(9 * sizeof(char));
        file_to_stack(p, 1, fp);
        print_menu();
        print_student(p, 1);
        free_func(&p, 1);
        fclose_func(&fp);
        return;
}

int main(void)
{
        input_disk();
        //output_srceen();//两个函数选一个.
        return 0;
}
回复

使用道具 举报

76

主题

1万

帖子

5万

积分

版主

Rank: 8Rank: 8

精华
1
威望
24774
K币
26879 元
注册时间
2014-9-17

2018年优秀版主2017年优秀版主池塘真题小王子

沙发
发表于 2018-3-1 21:07 来自手机 | 只看该作者
你这能通过就怪了

来自Android客户端

回复

使用道具 举报

7

主题

184

帖子

641

积分

中级战友

Rank: 3Rank: 3

精华
0
威望
50
K币
591 元
注册时间
2017-2-21
板凳
 楼主| 发表于 2018-3-1 21:16 | 只看该作者
老王。 发表于 2018-3-1 21:07
你这能通过就怪了

王哥么么哒.
回复

使用道具 举报

77

主题

3991

帖子

8093

积分

开国大老

Rank: 5Rank: 5

精华
0
威望
2
K币
8091 元
注册时间
2017-4-23
地板
发表于 2018-3-1 21:18 来自手机 | 只看该作者
楼主是四川人?zbl这是吃饱了撑的的意思

来自Android客户端

回复

使用道具 举报

76

主题

1万

帖子

5万

积分

版主

Rank: 8Rank: 8

精华
1
威望
24774
K币
26879 元
注册时间
2014-9-17

2018年优秀版主2017年优秀版主池塘真题小王子

5
发表于 2018-3-1 21:20 | 只看该作者
目测也是个小逗比
回复

使用道具 举报

21

主题

1240

帖子

3910

积分

高级战友

Rank: 4

精华
0
威望
2
K币
3908 元
注册时间
2017-11-16
6
发表于 2018-3-1 21:20 来自手机 | 只看该作者
莨晓无猜 发表于 2018-3-1 21:18
楼主是四川人?zbl这是吃饱了撑的的意思

zhuang bi le
的意思

来自Android客户端

回复

使用道具 举报

21

主题

1240

帖子

3910

积分

高级战友

Rank: 4

精华
0
威望
2
K币
3908 元
注册时间
2017-11-16
7
发表于 2018-3-1 21:21 来自手机 | 只看该作者
睿智程序猿,俺能看不懂?
当年俺也是啃过谭浩强的

来自Android客户端

回复

使用道具 举报

7

主题

184

帖子

641

积分

中级战友

Rank: 3Rank: 3

精华
0
威望
50
K币
591 元
注册时间
2017-2-21
8
 楼主| 发表于 2018-3-1 21:21 | 只看该作者
老王。 发表于 2018-3-1 21:20
目测也是个小逗比

王哥懂我,旺旺旺.
回复

使用道具 举报

21

主题

1240

帖子

3910

积分

高级战友

Rank: 4

精华
0
威望
2
K币
3908 元
注册时间
2017-11-16
9
发表于 2018-3-1 21:22 来自手机 | 只看该作者
我去,还真看不懂

来自Android客户端

回复

使用道具 举报

7

主题

184

帖子

641

积分

中级战友

Rank: 3Rank: 3

精华
0
威望
50
K币
591 元
注册时间
2017-2-21
10
 楼主| 发表于 2018-3-1 21:23 | 只看该作者

吃完泡面,再战.二狗子等我.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 人人连接登陆

本版积分规则   

关闭

您还剩5次免费下载资料的机会哦~

扫描二维码下载资料

使用手机端考研帮,进入扫一扫
在“我”中打开扫一扫,
扫描二维码下载资料

关于我们|商务合作|小黑屋|手机版|联系我们|服务条款|隐私保护|帮学堂| 网站地图|院校地图|漏洞提交|考研帮

GMT+8, 2024-5-6 06:27 , Processed in 0.043076 second(s), Total 10, Slave 10(Usage:7.25M, Links:[2]1,1_1) queries , Memcache On.

Powered by Discuz!

© 2001-2017 考研 Inc.

快速回复 返回顶部 返回列表
× 关闭