鱼C论坛

 找回密码
 立即注册
查看: 3080|回复: 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
  1. #include<stdio.h>
  2. #include<math.h>
  3. //数据块读写
  4. //从键盘输入4个学生的有关数据,然后把他们以二进制的格式存储到磁盘文件中
  5. #define SIZE 2
  6. struct student_type
  7. {
  8.     char name[10];
  9.     int num;
  10.     int age;
  11.     char addr[15];
  12. }stud[SIZE];

  13. void save();

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

  21.     }
  22.     save();
  23.     return 0;
  24. }

  25. void save()
  26. {
  27.     FILE *fp;
  28.     int i;
  29.     //if(!(fp=open("student-list","wb")))
  30.     if(!(fp=fopen("student-list","wb")))
  31.     {
  32.         printf("没有这个文件");
  33.         return;
  34.     }

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

  40.         }
  41.         //fclose(fp);
  42.     }
  43.     fclose(fp);
  44. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-6-15 00:51:26 | 显示全部楼层
文件是创建了的, 没有往里边写内容。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

我用的是VC++6.0
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-15 01:06:54 | 显示全部楼层
数据结构看着有点熟悉的感觉
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

老甲鱼留的题啊, 文件操作。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-15 10:40:12 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

  13. void save();

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

  21.     }
  22.     save();
  23.     return 0;
  24. }

  25. void save()
  26. {
  27.     FILE *fp;
  28.     int i;
  29.     //if(!(fp=open("student-list","wb")))
  30.     if(!(fp=fopen("student-list","wb")))
  31.     {
  32.         printf("没有这个文件");
  33.         return;
  34.     }

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

  40.         }
  41.         //fclose(fp);
  42.     }
  43.     fclose(fp);
  44. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

能说说具体文件操作步骤吗我没学过
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

谭浩强同志的书买来看啊, 第10章 一堆例题, 全做了 就会了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

好的 多谢建议
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-27 15:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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