各位學長,小生剛接觸C語言不久,特別是文件操作,希望解答以下問題,不勝感謝:
1.fwrite函數的第三個參數的意思,百科的解釋有點看不懂。。。
2.下面有一段小程序,為什麼輸入成績時到第二個就沒有了?
而且讀取文件輸出時,有的數據會變成一串數字。。。
#include "stdafx.h"
#include
#include
struct stu
{
int numb;
char name[10];
int score;
}studenta[3],studentb[3];
int main(int argc, char* argv[])
{
int m;
int a;
FILE *fp=fopen("file.txt","ab");
if(fp==NULL)
{
printf("Erroe!Can not open the file!");
exit(0);
}
else
printf("請選擇您需要的服務:\n1.錄入學生成績,P鍵結束錄入\n2.查詢學生成績\n");
scanf("%d",&a);
switch(a)
{
case 1:printf("請按“學號 姓名 成績”輸入:\n");
for(m=0;m<3;m++)
{
scanf("%d%c%d",&studenta[m].numb,&studenta[m].name,&studenta[m].score);
if(getchar()=='p')break;
}
fwrite(&studenta,sizeof(struct stu),1,fp);
break;
case 2:fread(&studentb,sizeof(struct stu),1,fp);
for(m=0;m<3;m++)
{
printf("%d %c %d",studentb[m].numb,studentb[m].name,studentb[m].score);
};break;
default:printf("Error!EXE will be close!");exit(0);
}
fclose(fp);
return 0;
}
寫入的元素的個數,這個元素的類型不確定。