void mode5()
{
int N=0;
char c[7]={'\0'};
FILE *fp=fopen("C:\\Users\\666\\Desktop\\新建檔案夾\\books.txt","a+");
if(fp==NULL)
{
printf("錯誤");
}
for(int i=0;i<1000;i++){
if(strcmp(books[i].id,c)==0)break;
N++;
}
printf("請輸入新的登錄號 圖書名 作者 簡介 分類 出版時間 價格\n");
scanf("%s %s %s %s %s %s %s",books[N+1].id,books[N+1].name,books[N+1].writer,books[N+1].JianJie,books[N+1].FengLei,books[N+1].time
,books[N+1].price);
char ch[]="\n\r";
fwrite(ch,2,1,fp);
fprintf(fp,"%s %s %s %s %s %s %s\n",books[N+1].id,books[N+1].name,books[N+1].writer,books[N+1].JianJie,books[N+1].FengLei,books[N+1].time,books[N+1].price);
printf("載入成功\n");
fclose(fp);
}
為什么輸入一個會載入兩個相同的
uj5u.com熱心網友回復:
books[N+1]越界了吧。uj5u.com熱心網友回復:
if(fp==NULL)
{
printf("錯誤");
}
這個地方已經打開失敗了,還要繼續往下執行嗎?后面怎么再用這個fp?
if(fp==NULL)
{
printf("錯誤");
return;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/230066.html
標籤:C語言
