0

可能重复:
C++ 将 int 和 string 转换为 char*

我使用的函数如下所示:

int cvSaveImage(const char* filename,const CvArr* image);

这个函数需要一个const char*作为第一个参数。例如:

cvSaveImage("ImageName",img)

是对的。

但是,我想在“ImageName”中放置一个int变量值而不是“Name”。我试过这样的东西,但根本不起作用,它崩溃了:

int num = 10;
char buffer[1024];
sprintf(buffer,"Image%d",num);
cvSaveImage((const char *)buffer,img);

有任何想法吗?

4

2 回答 2

2

您必须指定文件的扩展名。这是 openCV 确定写入格式的唯一方法。OpenCV 引发异常,这很可能是您的程序崩溃的原因。

此外,如果您正在开发一个新项目,请考虑迁移到 openCV 的 C++ 接口。它更加结构化,具有更多功能,也值得推荐。

于 2012-07-06T10:54:48.347 回答
0

如果您使用的是字符串,则此函数应该可以解决问题:

#include <sstream>
#include <string>

std::string IntToString(int N)
{
    ostringstream ss("");
    ss << N;
    return ss.str();
}
于 2012-07-06T11:07:51.163 回答