c文件,运行最后输出的文件里出现乱码,怎么回事啊。求解
本帖最后由 花開丶若相惜ソ 于 2015-12-26 11:52 编辑#include <stdio.h>
#include <stdlib.h>
void main()
{struct { char name;int num;int cj;}stu;
int i;
FILE *fp;
if((fp=fopen("d:\\student.dat","wb"))==NULL)
{ printf("打开文件出错\n");exit(0);}
for(i=0;i<2;i++)
{ scanf("%s",stu.name);
scanf("%d",&stu.num);
scanf("%d",&stu.cj);
fwrite(&stu,sizeof(stu),1,fp);
}
fclose(fp);
}
咋没人理呢。。 因为你写的代码太好看了 这个应该是楼主想要的效果 又不是写入二进制数据 干什么要用fwrite。。。。。
而且你这代码太规范了 我看不懂。。。。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define size 1
struct MyStruct{
char name;
int num;
int cj;
}stu;
int main(void)
{
int i;
FILE *fp;
fp=fopen("D:\\student.dat","wb+");
if(!fp)
printf("打开文件出错");
else if(!feof(fp))
{
for(i=0;i<2;i++)
{
strcpy(stu.name,"");
scanf("%s",stu.name);
scanf("%d",&stu.num);
scanf("%d",&stu.cj);
/* 输出数据 并换行 */
fprintf(fp,"%s\r\n%d\r\n%d\r\n",stu.name,stu.num,stu.cj);//你也不能输入二进制数据 没必要用fwrite
}
fclose(fp);
}
} 黑龍 发表于 2015-12-26 15:04
因为你写的代码太好看了
。。问题是这题是考试里的填空题。。fwrite那句是填空。。。如果不填fwrite,,填什么能实现这题呢。。 试了下。fprintf可以。。 花開丶若相惜ソ 发表于 2015-12-27 11:27
。。问题是这题是考试里的填空题。。fwrite那句是填空。。。如果不填fwrite,,填什么能实现这题呢。。
fwrite好像也可以
页:
[1]