鱼C论坛

 找回密码
 立即注册
查看: 1487|回复: 4

[已解决]数据块写函数

[复制链接]
发表于 2019-7-2 11:27:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
始终写入不正确。
执行完之后输入,接着输出结构体数组stud是正确的,但是写入文件就写的不对了。也没有返回错误,只是写入不对。
#include<stdio.h>
#include<stdlib.h>//p320
#define SIE 4
struct student_type
{
        char name[10];
        int num;
        int age;
        char addr[15];
}stud[SIE];
void save()
{
        FILE *fp;
        int i;
        if((fp=fopen("d:\\stu_list.txt","w"))==NULL)
        {
                printf("文件打开失败\n");
                exit(1);
        }
        for (i = 0; i < SIE; i++)
        {
                if (fwrite(&stud[i], sizeof(struct student_type), 1, fp) != 1)
                        printf("文件写入失败\n");
        }
        fclose(fp);
}
/*void display()
{
        FILE* fp;
        int i;
        if (fp = (fopen("d:\\stu_list.txt", "r")) == NULL)//只读方式打开文件
        {
        printf("文件打开失败\n");
        exit(1);
        }
        for(i = 0;i<SIE; i++)
        {
                fread(&stud[i], sizeof(struct student_type), 1, fp);
                printf("%-10s,%4d,%4d,%-15s", stud[i].name, stud[i].num, stud[i].age, stud[i].addr);
        }
        fclose(fp);
}*/
int main()
{
        int i;
        printf("请输入:\n姓名\t\tid\t年龄\t家乡\n");
        for (i = 0; i < SIE; i++)
        {
                scanf("%s%d%d%s", stud[i].name, &stud[i].num, &stud[i].age, stud[i].addr);
                printf("下一个\n");
        }
/*        for (i = 0; i < SIE; i++)
        {
                printf("%s,\t%d,\t%d,\t%s\n", stud[i].name, stud[i].num, stud[i].age, stud[i].addr);
        }*/
        save();
/*        display();*/
        return 0;
}
最佳答案
2019-7-2 13:43:06
还有fprint应该也可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-7-2 13:34:57 | 显示全部楼层
本帖最后由 我就是个弟弟 于 2019-7-2 13:38 编辑

画一个结构体的内存模型, 数据都没填满结构体,你拷贝什么?
你这样只会脏写

我看了一下文档,你看fput和fputs行不行,一个成员一个成员的写进去。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-2 13:43:06 | 显示全部楼层    本楼为最佳答案   
还有fprint应该也可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-2 13:43:37 | 显示全部楼层
说白了就是一个重定向
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-2 13:55:45 | 显示全部楼层

用fprint可以正常运行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-3 23:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表