私は文字列変数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;
。 –
s.substr(i, 1)
とすることができます。しかし、マップにchar
秒しかない場合は、私は上記の回答がより好きです。
string str = "test";
anyFunction(str[x]);
[]演算子はcharを提供し、関数が文字列を期待する場合はエラーが発生します。しかし、あなたは、常にこの卑劣な変換を試すことができます。これは単なる文字列に文字を変換するための最も高価な方法を実行しているにあるかもしれない
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
+1は5秒早くなります! – nijansen