0

调试代码时,我不断收到“调试断言失败”错误

它似乎在下面函数中的 sprintf 行失败:

void GetReference(int side)
{   
    for (int j=0; j<exposeNumber; j++)
    {
        image = cvQueryFrame(capture); // get the first frame of video

        sprintf(fileName, "RefImage%i", (side*exposeNumber + j));

        cvSaveImage(fileName, image);

        wait(200);

    }
}

“exposeNumber”等于 5,“side”可以是 0 或 1

干杯克里斯

4

1 回答 1

4

fileName必须足够大。和一个char*。而不是 NULL。例如:

char fileName[1024];

或者

char* fileName = new char[ 1024 ];
//..
delete[] fileName;

或者这里更小的东西。如我所见,我想 32 或 64 就足够大了。

我很确定断言失败是因为NULL(或0,这里相同)指针(fileName

于 2011-08-05T10:20:16.157 回答