/*將學生資訊從檔案讀出*/
void IO_ReadInfo()
{
FILE *fp;
int i;
if ((fp=fopen("Database.txt","rb"))==NULL)
{
printf("不能打開檔案!\n");
return;
}
if (fread(&num,sizeof(int),1,fp)!=1)
{
num=-1;
}
else
{
for(i=0;i<num;i++)
{
fread(&students[i],sizeof(struct Student),1,fp);
}
}
fclose(fp);
}
/*將學生資訊寫入檔案*/
void IO_WriteInfo()
{
FILE *fp;
int i;
if ((fp=fopen("Database.txt","wb"))==NULL)
{
printf("不能打開檔案!\n");
return;
}
if (fwrite(&num,sizeof(int),1,fp)!=1)
{
printf("寫入檔案錯誤!\n");
}
for (i=0;i<num;i++)
{
if (fwrite(&students[i],sizeof(struct Student),1,fp)!=1)
{
printf("寫入檔案錯誤!\n");
}
}
fclose(fp);
}
求一大神幫忙修改對于文本檔案的輸入輸出,不是二進制檔案
uj5u.com熱心網友回復:
不太會對檔案操作,求一大神uj5u.com熱心網友回復:
你這個寫入和讀出沒什么問題啊,應該是別的地方問題uj5u.com熱心網友回復:
更正下,讀出部分修改下/*將學生資訊從檔案讀出*/
void IO_ReadInfo()
{
FILE *fp;
int i;
if ((fp=fopen("Database.txt","rb"))==NULL)
{
printf("不能打開檔案!\n");
return;
}
if (fread(&num,sizeof(int),1,fp)!=1)
{
num=0;
}
else
{
for(i=0; i<num; i++)
{
fread(&students[i],sizeof(struct Student),1,fp);
}
}
fclose(fp);
}
如果是-1,你的下標就從-1開始了
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/77382.html
標籤:基礎類
上一篇:求助,c語言
