C++ 转换int并将其与char连接*

C++ 转换int并将其与char连接*,c++,g++,C++,G++,我想将int转换为char或char*然后将其与char*连接起来 for (int i = 1; i < mymap.size(); i++) { char * s = "Scene"; cout << mymap[s+i]; } 但是我犯了一个错误 但这是可行的: const char* si = s.c_str(); 但是我尝试将它与mymap一起使用: cout << mymap[si]; cout可能有点过分,但您可以尝试string

我想将
int
转换为
char
char*
然后将其与
char*
连接起来

for (int i = 1; i < mymap.size(); i++)
{
    char * s = "Scene";
    cout << mymap[s+i];
}
但是我犯了一个错误

但这是可行的:

const char* si = s.c_str();
但是我尝试将它与
mymap
一起使用:

cout << mymap[si];

cout可能有点过分,但您可以尝试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;

}
#包括
#包括
#包括
使用名称空间std;
int main(int argc,char*argv[]){
char*a=“你好”;
int b=11;
stringstream sstm;

sstm您能向我们提供您收到的完整错误,以便我们进一步调试您的问题吗?
mymap
的类型是什么?为什么要将密钥转换为
char*
,而不将其保留为
std::string
?是
mymap
std::map
?将密钥设置为
std::string
,而不是
char*
,你的代码就可以工作了。@Dave:要么是
std::string
要么是
const char*
…试试
cout
#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;

}