数値の文字列をその値を含む char に変換する方法はありますか?たとえば、文字列 "128"は 128 の値を保持する char に変換する必要があります。
char
128
<0
> 255
はい... Cさんからatoi
char mychar = (char)atoi("128");
もっとC ++指向のアプローチは...
template T fromString(const std::string& s) { std::istringstream stream (s); T t; stream >> t; return t; } char mychar = (char)fromString(mycppstring);
atoi のCスタイルがありますが、 int に変換します。自分で char にキャストする必要があります。
atoi
int
C ++スタイルのソリューション(より安全です)では、
string input("128"); stringstream ss(str); int num; if((ss >> num).fail()) { //invalid format or other error } char result = (char)num;
場合によります。 char が符号付きで8ビットの場合、 "128"を10進数の char に変換することはできません。符号付き8ビット値の最大正の値は127です。
これは本当に賢明な答えですが、ある時点でこれを知っているはずです。
atoi を使用できます。これで整数128が得られます。これを char にキャストすれば完了です。
char c = (char) atoi("128");