2012-02-19 18 views
1

私は文字列変数sを持っていて、マップデータ構造(文字列キー付き)mを持っています。charをC++の文字列に変換するには?

sの各文字がmにあるかどうかを確認したいので、m.containsKey(s[i])とします。

マップのcontainsKey関数は文字列引数を期待し、以来、私は次のエラーを取得する:

invalid conversion from char to const char* 

任意のアイデア、文字列データ型に文字を変換する方法について?

答えて

5

ではなく、インデックスの部分文字列を取ります。

s.substr(i, 1) 
+0

+1は5秒早くなります! – nijansen

3

もう一つの方法は次のとおりです。

#include <sstream> 
#include <string> 
stringstream ss; 
string s; 
char c = 'a'; 
ss << c; 
ss >> s; 
+6

。 –

0

s.substr(i, 1)とすることができます。しかし、マップにchar秒しかない場合は、私は上記の回答がより好きです。

0
string str = "test"; 
anyFunction(str[x]); 

[]演算子はcharを提供し、関数が文字列を期待する場合はエラーが発生します。しかし、あなたは、常にこの卑劣な変換を試すことができます。これは単なる文字列に文字を変換するための最も高価な方法を実行しているにあるかもしれない

string str = "test"; 
char c = str[x]; 
string temp = c; 
anyFunction(temp); 
1
string s=""; 
char a; 

s+=a; 

s is now a string of char a 
関連する問題