C语言文件写入时报错,不知道问题出在哪了!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言文件写入时报错,不知道问题出在哪了!相关的知识,希望对你有一定的参考价值。
代码如下:
#include<stdio.h>
#include<stdlib.h>
#define SIZE 10
struct student_type
char name[10];
int num;
int age;
char sex;
stu[SIZE];
void the_save()
FILE *fp;
int i;
if((fp=fopen("stud_dat","wb"))==NULL)
printf("cannot open file\n");
return;
for(i=0;i<SIZE;i++)
if(fwrite(&stu[i],sizeof(struct student_type),1,fp)!=1);
printf("file write error\n");
fclose(fp);
void main()
int i;
char ch;
FILE *fp;
for(i=0;i<SIZE;i++)
scanf("%s%d%d%c",stu[i].name,&stu[i].num,&stu[i].age,&stu[i].sex);
the_save();
if((fp=fopen("stud_dat","rb"))==NULL)
printf("cannot open file\n");
exit(0);
for(i=0;i<SIZE;i+=2)
fseek(fp,i*sizeof(struct student_type),0);
fread(&stu[i],sizeof(struct student_type),1,fp);
printf("%s %d %d %c\n",stu[i].name,stu[i].num,stu[i].age,stu[i].sex);
fclose(fp);
system("pause");
在调用the_save()函数时总是输出"file write error\n",问题应该出在输入sex时文件没能保存他的值,但是我觉得代码没问题阿,找了好久都没找到!求大神解答!
去掉后面的分号就可以了。
if(fwrite(&stu[i],sizeof(struct student_type),1,fp)!=1);
printf("file write error\n");追问
采纳的答案重新写了一遍代码,所以把采纳他了!不过还是谢谢你哈!
追答ok
参考技术B if(fwrite(&stu[i],sizeof(struct student_type),1,fp)!=1); 换成 if(fwrite(&stu[i],sizeof(stu),1,fp)!=1);试试 参考技术C 本回答被提问者采纳Excel 两个日期之间间隔的工作日数,非头尾,大家帮我看看我这样做,结果不对呀?问题出在哪了?不甚感激!
=NETWORKDAYS(A3,D3)-AND(WEEKDAY(A3)<>1,7) 参考技术A =DAYS360(C4,C4)用这个函数追问
不是呀,我是要工作日
以上是关于C语言文件写入时报错,不知道问题出在哪了!的主要内容,如果未能解决你的问题,请参考以下文章
pandas读取csv文件时报错:ParserError: Error tokenizing data. C error