我有一个字符串变量s
,我有一个地图数据结构(带有字符串键)m
。如何将char转换为C++中的字符串?
我想检查s
中的每个字母是否存在于m
,所以我做m.containsKey(s[i])
。
因为,地图中的containsKey函数需要字符串参数,我得到以下错误:
invalid conversion from char to const char*
任何想法,就如何一个字符转换为字符串数据类型?
我有一个字符串变量s
,我有一个地图数据结构(带有字符串键)m
。如何将char转换为C++中的字符串?
我想检查s
中的每个字母是否存在于m
,所以我做m.containsKey(s[i])
。
因为,地图中的containsKey函数需要字符串参数,我得到以下错误:
invalid conversion from char to const char*
任何想法,就如何一个字符转换为字符串数据类型?
以子串,而不是索引。
s.substr(i, 1)
另一种方法是:
#include <sstream>
#include <string>
stringstream ss;
string s;
char c = 'a';
ss << c;
ss >> s;
这也许会是在最昂贵的方式为一个字符转换为字符串的运行。 – 2012-02-19 05:48:43
你可以做s.substr(i, 1)
。但是如果你在地图上只有char
s,我更喜欢上面的答案。
string str = "test";
anyFunction(str[x]);
[]操作符提供了一个字符,如果任何函数需要字符串,那么肯定会出现错误。但你总是可以尝试这种偷偷摸摸的转换:
string str = "test";
char c = str[x];
string temp = c;
anyFunction(temp);
string s="";
char a;
s+=a;
s is now a string of char a
加快5秒! – nijansen 2012-02-19 05:48:06