我有一个字符串String s = "B"
我想把它转换成char cs = 'B'
我能怎么做?
std::string
可以像访问数组一样访问A来访问单个字符:
char cs = s[0];
但要小心,就像数组一样,您可以将它与超出范围的索引一起使用!
string
按索引检索字符
std::string s = "B"; // It has at least one character
char cs = s[0];
您不能将a强制string
转换为 a char
。你也不能真正转换它。根据定义,一个字符串包含零个或多个char
s,所以你想要做什么充其量是不清楚的!
例如,如果你有,你会期待什么String s = "BC"
?'B'
? 'C'
? 4
(和的溢出总和'B'
)'C'
?还有什么?
相反,如果您想获取字符串中的第一个字符,则可以像访问数组一样访问它,方法是:
char cs = s[0];
请注意,您应该首先进行某种边界检查,以确保字符串中至少有一个字符。
以下将获取的第一个字符s
(如果字符串为空,则为 0):
std::string s = ...;
char cs = 0;
if (!s.empty()) {
cs = s[0];
}