我有一個字符串變量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