void show()
{
FILE * fp;
int clas;
long long stu_code;
long long id_code;
char sex[5];
char enyear[10];
char birthday[20];
char major[10];
char name[10];
struct stu_node * tail, * head=NULL;
struct stu_node * pMove;
struct stu_node * n;
if((fp=fopen("test.dat","r"))==NULL)
{
fp=fopen("test.dat","w+");
fclose(fp);
}
while(fscanf(fp,"%s%s%s%d%s%lld%lld%s\n",name,sex,major,&clas,birthday,&stu_code,&id_code,enyear)!=EOF)
{
n=(struct stu_node * )malloc(sizeof(struct stu_node));
n->clas=clas;n->stu_code=stu_code,n->id_code=id_code;
strcpy(n->name,name);strcpy(n->sex,sex);
strcpy(n->major,major);strcpy(n->enyear,enyear);
strcpy(n->birthday,birthday);
if(head==NULL) head=n;
else tail->next=n;
tail=n;
}
fclose(fp);
pMove=head;
printf("姓名\t性别\t专业\t班级\t出生日期\t学籍号\t身份证号\t入学日期\n");
while(pMove!=NULL)
{
printf("%s\t%s\t%s\t%d\t%s\t%lld\t%lld\t%s\n",pMove->name,pMove->sex,pMove->major,pMove->clas,pMove->birthday,pMove->stu_code,pMove->id_code,pMove->enyear);
pMove=pMove->next;
}
}
为什么这个显示函数除了显示要显示的数据之外还会有乱码
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- qzjhjxj 2022-01-05 13:32关注
修改如下,供参考:
void show() { FILE* fp; int clas; long long stu_code, id_code; char sex[5], enyear[10], birthday[20], major[10], name[10]; struct stu_node* tail = NULL, * head = NULL, * pMove = NULL, * n = NULL; if ((fp = fopen("test.dat", "r")) == NULL) { fp = fopen("test.dat", "w+"); fclose(fp); return; } while (1) { if (fscanf(fp,"%s%s%s%d%s%lld%lld%s\n", name, sex, major, &clas, birthday, &stu_code, &id_code, enyear) != 8) break; n = (struct stu_node*)malloc(sizeof(struct stu_node)); n->next = NULL; n->clas = clas; n->stu_code = stu_code, n->id_code = id_code; strcpy(n->name, name); strcpy(n->sex, sex); strcpy(n->major, major); strcpy(n->enyear, enyear); strcpy(n->birthday, birthday); if (head == NULL) head = n; else tail->next = n; tail = n; } fclose(fp); pMove = head; printf("姓名\t性别\t专业\t班级\t出生日期\t学籍号\t身份证号\t入学日期\n"); while (pMove != NULL) { printf("%s\t%s\t%s\t%d\t%s\t%lld\t%lld\t%s\n", pMove->name, pMove->sex, pMove->major, pMove->clas, pMove->birthday, pMove->stu_code, pMove->id_code, pMove->enyear); pMove = pMove->next; } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
- ¥15 C# datagridview 单元格显示进度及值
- ¥15 thinkphp6配合social login单点登录问题
- ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
- ¥15 如何在scanpy上做差异基因和通路富集?
- ¥20 关于#硬件工程#的问题,请各位专家解答!
- ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
- ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
- ¥30 截图中的mathematics程序转换成matlab
- ¥15 动力学代码报错,维度不匹配