在 c++ 中使用 sprintf 调试断言失败
当我调试代码时,我不断收到“调试断言失败”错误,
它似乎在下面函数中的 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
干杯 克里斯
I keep getting the "debug assertion failed" error when i debug my code
It seems to fail at the sprintf line in the function below:
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" is equal to 5 and "side" can either be 0 or 1
Cheers
Chris
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
fileName
必须足够大。还有一个char*
。并且不是NULL
。例如:或
这里更小的东西。据我所知,我猜 32 或 64 就足够大了。
我很确定断言失败是因为
NULL
(或0
,此处相同)指针 (fileName
)fileName
MUST be big enough. And achar*
. And notNULL
. For example:or
Or something smaller here. As I see, I guess 32 or 64 would be big enough.
I'm pretty sure the assertion fails because of
NULL
(or0
, which is the same here) pointer (fileName
)