#include<stdio.h>
#include<stdlib.h>
struct student
{
char name[10];
char num[10];
int score[3];
float aver;
}stud[5];
void main()
{
FILE *fp1;
int j=0;
if((fp1=fopen("d:\\test\\1.txt","rb"))==NULL)
{printf("Wrong!");exit(0);}
while(!feof(fp1))
{
fread(&stud[j],sizeof(struct student),1,fp1);
//输出
j++;
}
}
d:\test\1.txt中文件为:
jim 001 12 34 45 30.333333
kate 002 23 34 45 34.000000
tom 003 44 55 66 55.000000
lucy 004 55 66 66 62.333333
uuu 005 45 65 45 51.666667
问题是输出处用:fwrite(&stud[j],sizeof(struct student),1,stdout);正确
用: printf("%s %s %d %d %d %f\n",stud[j].name,stud[j].num,stud[j].score[0],stud[j].score[1],stud[j].score[2],stud[j].aver);则输出出错,
怎么回事这是 ,谢谢
freadæ¯Cè¯è¨æ å为ä¸çä¸ä¸ªå½æ°ãå®ä»ä¸ä¸ªæ件æµä¸è¯»æ°æ®ï¼æå¤è¯»åcount个å ç´ ï¼æ¯ä¸ªå ç´ sizeåèï¼å¦æè°ç¨æåè¿åå®é 读åå°çå ç´ ä¸ªæ°ï¼å¦æä¸æåæ读å°æ件æ«å°¾è¿å 0ã
fwriteæ¯Cè¯è¨æ ååºä¸çä¸ä¸ªå½æ°ï¼æåæ件åå ¥ä¸ä¸ªæ°æ®åã示ä¾å¦ä¸ï¼
//读åä¸ä¸ªå®æ´çæ件综å使ç¨çä¾åã
#include <stdio.h>