转换int并将其与char *连接

时间:2013-06-17 14:37:44

标签: c++ g++

我想将int转换为charchar*,然后将其与char*

连接起来
for (int i = 1; i < mymap.size(); i++)
{
    char * s = "Scene";
    cout << mymap[s+i];
}

我试过这种方式

string s = "Scene";
string x = to_string(i);
s = s + x;
char* si = s.c_str();

但是我收到了错误。

但这有效:

const char* si = s.c_str();

但后来我尝试将其用于mymap

cout << mymap[si];

我收到错误消息说我必须使用char*而不是const char*

1 个答案:

答案 0 :(得分:0)

可能有点过分,但你可以尝试使用stringstream:

#include <iostream>
#include <sstream>
#include <string>

using namespace std;

int main(int argc, char * argv[]) {
 char * a = "hello";
 int b = 11;

 stringstream sstm;

 sstm << a << b;

 string ans = sstm.str();
 char * ans2 = (char *) ans.c_str();

 cout << ans2 << endl;   //"hello11"

 return 0;

}