标题几乎说明了一切。我想知道如何将一个字符串转换为char。 任何帮助表示赞赏!
答案 0 :(得分:6)
这是相对简单的:
char ch = str[0];
换句话说,只要抓住字符串中的第一个字符,假设它不是空的。
你可以做很多其他的事情,比如处理一个空字符串或跳过前导空格,但上面的代码应该适合你的特定问题。
答案 1 :(得分:1)
您可以使用字符串上的下标运算符来执行此操作,例如:
string a = "hello";
char b;
if (!a.empty())
b = a[0];
答案 2 :(得分:0)
std :: string是一个连续字符的容器,提供对其元素的随机访问。至少有三种直接的方法来检索字符串中的第一个字符
#include <string>
...
std::string string{ "Hello" };
char c1{ string[ 0 ] }, // undefined when called on an empty string
c2{ string.at( 0 ) }, // will throw if used on an empty string
c3{ string.front() }; // C++11 equivalent to string[ 0 ]
...
答案 3 :(得分:-1)
字符串实际上是字符序列。你可以从那个序列中得到你想要的任何角色。
例如:
如果您的字符串hello, world
只是字符序列:
h
e
l
l
o
,
w
o
{{ 1}} r
l
。其中第一个字符d
的索引为0,最后一个字符的索引为11。
相同的规则适用于一个字符串:
h
这里有字符串#include <cstdio>
int main() {
char text[] = "h";
printf("%s\n", text);
char first = text[0];
printf("%c\n", first);
return 0;
}
,它是只包含一个字符的字符序列。 :d
该字符串中的字符h
索引为0,因此您可以使用h
获取该字符。