在c++中将字符串强制转换为char
Type Cast a string to char in c++
我有一个字符串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];
}
相关文章:
- 将无符号char*转换为std::istream*C++
- 为什么这个函数将"const char*"转换为"void* const"而不是"const void*"
- 使用char类型将decimal转换为string,将string转换为decimal
- 如何在对<char>C++程序进行逆向工程的同时将 std::basic_string 转换为 Rust 可读值?
- 将函数参数"const char*"转换为"std::string_view"是
- 如何在保持其值的同时将 c++ 无符号字符变量转换为 char 变量
- 需要帮助在 c++ 中将字符串转换为字符 ----错误 "const char *" 类型的值不能用于初始化 "char" 类型的实体
- 如何在不强制转换每个参数的情况下删除初始值设定项列表中从 int 到 char 的缩小转换?
- C ++如何在使用"tolower"时将char转换为int
- 有没有办法在C++的赋值中将"char**"转换为"double"?
- 如何使用多次 memcpy 转换回 std::vector<unsigned char>?
- 将"uint8_t"(从套接字读取)隐式转换为"char"安全吗
- JavaCPP 错误:无法将参数"1"的"char*"转换为"Abc*
- 将传入的网络"char*"数据转换为"uint8_t"并返回的安全方法是什么?
- 转换char*时的值不同
- Boost Python 不会自动转换 char* 数据成员
- 除了转换char*之外,还有更好的方法来获得一个变量值吗?
- 如何跨平台转换char*到long long(64位)
- 用atof转换char数组中的浮点数
- C转换char[]为时间戳;