我在使用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);
答案 0 :(得分:2)
fprintf(f, " %d", absAmb); //ERROR LINE
您在fprintf
fprintf(fPtr, " %d", absAmb); // <--- fPtr
答案 1 :(得分:1)
什么是'f'?您将fopen的结果存储到fPtr中,然后将fprintf存储到f。
答案 2 :(得分:0)
您已将文件指针变量声明为“fPtr”,但您尝试写入“f”。更改你的fprintf()调用以使用fPtr作为第一个参数。