簡體   English   中英

fprintf的Malloc / Bus錯誤

[英]Malloc/Bus error with fprintf

我在C ++中使用fprintf語句時遇到了malloc錯誤和總線錯誤(下面的代碼)。 關於可能出什么問題的任何指示? 注意absAmb和dModel都具有有效值。 謝謝。

FILE *fPtr;
char fName[100];

sprintf(fName, "Info.dat", block);
if ( (fPtr = fopen(fName,"w")) == NULL )
{  
    return( FALSE );
}

int absAmb = rint(fda[0]/prf[0]);

fprintf(fPtr, "  %d", absAmb); //ERROR LINE
fprintf(fPtr, "  %d", dModel);
fclose(fPtr);
fprintf(f, "  %d", absAmb); //ERROR LINE

您在fprintf使用了錯誤的變量

fprintf(fPtr, "  %d", absAmb); // <--- fPtr

什么是“ f”? 您將fopen的結果存儲到fPtr中,然后對f執行fprintf。

您已經聲明了文件指針變量“ fPtr”,但是您正在嘗試寫入“ f”。 更改您的fprintf()調用以使用fPtr作為第一個參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM