如何将'int'值放入'const char *'

时间:2012-07-06 10:24:04

标签: c++ c string opencv char

  

可能重复:
  C++ convert int and string to char*

我使用的功能如下:

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

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

cvSaveImage("ImageName",img)

是对的。

但是,我想代替'姓名'在" ImageName"中,int变量值。 我尝试过这样的事情,但根本没有工作,它崩溃了:

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

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您必须为文件指定扩展名。这是openCV解决格式写入的唯一方法.OpenCV抛出一个异常,这很可能是你的程序崩溃的原因。

另外,如果您正在开发一个新项目,请考虑转到openCV的C ++界面。它更结构化,功能更多,也值得推荐。

答案 1 :(得分:0)

如果您正在使用字符串,此功能应该可以解决问题:

#include <sstream>
#include <string>

std::string IntToString(int N)
{
    ostringstream ss("");
    ss << N;
    return ss.str();
}