2

我想将其转换intcharchar*将其与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*

4

1 回答 1

0

可能有点过分,但你可以尝试一个字符串流:

#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;

}
于 2013-06-17T14:53:53.223 回答