zhangHomhX 2022-07-20 16:14 采纳率: 100%
浏览 13
已结题

模拟机中C语言出现的问题

问题遇到的现象和发生背景

虚拟模拟机中

问题相关代码,请勿粘贴截图

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct st_girl{
char name[50];
int age;
int height;
char sc[30];
char yz[30];
};
int main(){
struct st_girl stgirl;FILE *fp=0;fp=fopen("/root/Desktop/test/test.txt","w");
if(fp==0)
{
printf("打开文件失败\n");return -1;
}
strcpy(stgirl.name,"小红");stgirl.age=20;stgirl.height=120;
strcpy(stgirl.sc,"普通");strcpy(stgirl.yz,"漂亮");
fwrite(&stgirl,1,sizeof(stgirl),fp);
fclose(fp);
}
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct st_girl
{
char name[50];
int age;
int height;
char sc[40];
char yz[40];
};
int main()
{
FILE *fp=0;struct st_girl stgirl;fp=fopen("/root/Desktop/test/test.txt","rb");
if(fp==0)
{
printf("打开文件失败\n");return -1;
}
while(1)
{
if(fread(&stgirl,1,sizeof(struct st_girl),fp)==0)break;
printf("name=%s,age=%d,height=%d,sc=%s,yz=%s\n",
stgirl.name,stgirl.age,stgirl.height,stgirl.sc,stgirl.yz);
}
fclose(fp);
}

运行结果及报错内容

img


为什么yz没输出?

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-07-20 16:22
    关注

    你两个结构中,定义的sc和yz长度不一样啊。写入部分是30个字符,读取部分却写成40个字符了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月20日
  • 已采纳回答 7月20日
  • 创建了问题 7月20日

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?