在c++中将字符串强制转换为char

Type Cast a string to char in c++

本文关键字:转换 char 字符串 c++      更新时间:2023-10-16

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

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

我该怎么办?

通过索引

检索string中的字符
std::string s = "B"; // It has at least one character
char cs = s[0];

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

char cs = s[0];

但是要小心,就像数组一样,你可以在索引越界的情况下使用它!

您不能 string转换为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];
}