鱼C论坛

 找回密码
 立即注册
查看: 2769|回复: 9

[已解决]文件读写问题,报错

[复制链接]
发表于 2021-6-15 00:50:36 | 显示全部楼层 |阅读模式

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

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

x
#include<stdio.h>
#include<math.h>
//数据块读写
//从键盘输入4个学生的有关数据,然后把他们以二进制的格式存储到磁盘文件中
#define SIZE 2
struct student_type
{
        char name[10];
        int num;
        int age;
        char addr[15];
}stud[SIZE];

void save();

int main()
{
        int i;
        printf("输入学生的内容");
        for(i=0;i<SIZE;i++)
        {
                scanf("%s %d %d %s",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr);
               
        }
        save();
}

void save()
{
        FILE *fp;
        int i;
        if(!(fp=open("student-list","wb")))
        {
                printf("没有这个文件");
                return;
        }

        for(i=0;i<SIZE;i++)
        {
                if(fwrite(&stud[i],sizeof(struct student_type),1,fp)!=1) // 单点调试在这个位置报错, 和源码没什么区别, 求问原因。 一头雾水
                {
                        printf("文件写入错误");
                       
                }
                fclose(fp);
        }
}
最佳答案
2021-6-15 13:44:43
#include<stdio.h>
#include<math.h>
//数据块读写
//从键盘输入4个学生的有关数据,然后把他们以二进制的格式存储到磁盘文件中
#define SIZE 2
struct student_type
{
    char name[10];
    int num;
    int age;
    char addr[15];
}stud[SIZE];

void save();

int main()
{
    int i;
    printf("输入学生的内容");
    for(i=0;i<SIZE;i++)
    {
        scanf("%s %d %d %s",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr);

    }
    save();
    return 0;
}

void save()
{
    FILE *fp;
    int i;
    //if(!(fp=open("student-list","wb")))
    if(!(fp=fopen("student-list","wb")))
    {
        printf("没有这个文件");
        return;
    }

    for(i=0;i<SIZE;i++)
    {
        if(fwrite(&stud[i],sizeof(struct student_type),1,fp)!=1) // 单点调试在这个位置报错, 和源码没什么区别, 求问原因。 一头雾水
        {
            printf("文件写入错误");

        }
        //fclose(fp);
    }
    fclose(fp);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-6-15 00:51:26 | 显示全部楼层
文件是创建了的, 没有往里边写内容。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-15 00:56:22 | 显示全部楼层
大佬把源码考过去看看 , 调试一下是什么问题。。

我用的是VC++6.0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-15 01:06:54 | 显示全部楼层
数据结构看着有点熟悉的感觉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-15 01:13:57 | 显示全部楼层
Gacy 发表于 2021-6-15 01:06
数据结构看着有点熟悉的感觉

老甲鱼留的题啊, 文件操作。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-15 10:40:12 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-15 13:44:43 | 显示全部楼层    本楼为最佳答案   
#include<stdio.h>
#include<math.h>
//数据块读写
//从键盘输入4个学生的有关数据,然后把他们以二进制的格式存储到磁盘文件中
#define SIZE 2
struct student_type
{
    char name[10];
    int num;
    int age;
    char addr[15];
}stud[SIZE];

void save();

int main()
{
    int i;
    printf("输入学生的内容");
    for(i=0;i<SIZE;i++)
    {
        scanf("%s %d %d %s",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr);

    }
    save();
    return 0;
}

void save()
{
    FILE *fp;
    int i;
    //if(!(fp=open("student-list","wb")))
    if(!(fp=fopen("student-list","wb")))
    {
        printf("没有这个文件");
        return;
    }

    for(i=0;i<SIZE;i++)
    {
        if(fwrite(&stud[i],sizeof(struct student_type),1,fp)!=1) // 单点调试在这个位置报错, 和源码没什么区别, 求问原因。 一头雾水
        {
            printf("文件写入错误");

        }
        //fclose(fp);
    }
    fclose(fp);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-15 14:18:11 | 显示全部楼层
leidinghao123 发表于 2021-6-15 01:13
老甲鱼留的题啊, 文件操作。

能说说具体文件操作步骤吗我没学过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-17 13:38:09 | 显示全部楼层
Gacy 发表于 2021-6-15 14:18
能说说具体文件操作步骤吗我没学过

谭浩强同志的书买来看啊, 第10章 一堆例题, 全做了 就会了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-17 20:27:57 | 显示全部楼层
leidinghao123 发表于 2021-6-17 13:38
谭浩强同志的书买来看啊, 第10章 一堆例题, 全做了 就会了

好的 多谢建议
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 14:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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