我想将int
转换为char
或char*
,然后将其与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*
答案 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;
}