-5

我有一个字符串String s = "B"

我想把它转换成char cs = 'B'

我能怎么做?

4

4 回答 4

2

std::string可以像访问数组一样访问A来访问单个字符:

char cs = s[0];

但要小心,就像数组一样,您可以将它与超出范围的索引一起使用!

于 2013-03-25T07:18:18.930 回答
2

string按索引检索字符

std::string s = "B"; // It has at least one character

char cs = s[0];
于 2013-03-25T07:18:23.387 回答
2

您不能a强制string转换为 a char。你也不能真正转换它。根据定义,一个字符串包含零个或多个chars,所以你想要做什么充其量是不清楚的!

例如,如果你有,你会期待什么String s = "BC"'B'? 'C'? 4(和的溢出总和'B''C'?还有什么?


相反,如果您想获取字符串中的第一个字符,则可以像访问数组一样访问它,方法是:

char cs = s[0];

请注意,您应该首先进行某种边界检查,以确保字符串中至少有一个字符。

于 2013-03-25T07:19:53.333 回答
1

以下将获取的第一个字符s(如果字符串为空,则为 0):

std::string s = ...;
char cs = 0;
if (!s.empty()) {
  cs = s[0];
}
于 2013-03-25T07:19:45.773 回答