与fprintf的malloc / Bus错误

时间:2009-09-28 18:30:36

标签: c++ printf

我在使用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);

3 个答案:

答案 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作为第一个参数。