string类型转换成char型
时间: 2023-09-26 16:05:16 浏览: 42
要将string类型转换为char类型,可以使用string的成员函数`c_str()`来获取一个指向以null结尾的字符数组的指针,然后再通过解引用获取字符。
下面是一个示例代码:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello";
const char* charArr = str.c_str();
// 使用循环打印每个字符
for (int i = 0; i < str.length(); i++) {
std::cout << charArr[i] << std::endl;
}
return 0;
}
```
在上面的代码中,我们首先将字符串"Hello"存储在一个string对象中。然后,我们使用`c_str()`函数获取一个指向字符数组的指针。最后,我们通过循环打印每个字符。
请注意,由于`c_str()`返回的是指向字符数组的指针,所以不能修改该指针指向的内容,否则会导致未定义的行为。
相关问题
string类型转换成char
要将string类型转换成char,可以使用string的成员函数c_str()。这个函数返回一个指向以null结尾的C字符串的指针,可以将其赋值给一个char类型的变量。这样就可以实现从string类型到char类型的转换。
下面是一个示例代码:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello";
char ch = str[0]; // 直接取string的第一个字符
std::cout << "First character: " << ch << std::endl;
// 使用c_str()函数进行转换
const char* cstr = str.c_str();
char ch2 = cstr[1]; // 取C字符串的第二个字符
std::cout << "Second character: " << ch2 << std::endl;
return 0;
}
```
输出结果为:
```
First character: H
Second character: e
```
注意,由于c_str()函数返回的是一个指针,需要将其赋值给一个指针变量或者常量指针,才能进行字符操作。
c语言将String类型转化成char
数组的方法是什么?
将String类型转化为char数组的方法是使用字符串函数strcpy(),以及将char类型的数组逐一赋值给String类型。具体操作可以参考以下代码示例:
1. 使用strcpy()函数将String类型转化为char数组。
```
#include <stdio.h>
#include <string.h>
int main() {
char str1[20];
char str2[20] = "Hello World!";
// 使用strcpy()函数将String类型转化为char数组
strcpy(str1, str2);
printf("str1: %s\n", str1);
printf("str2: %s\n", str2);
return 0;
}
```
2. 逐一赋值将char类型的数组转化为String类型。
```
#include <stdio.h>
#include <string.h>
int main() {
char str1[20] = "Hello World!";
int i;
String str2 = "";
// 逐一赋值将char类型的数组转化为String类型
for(i = 0; i < strlen(str1); i++) {
str2 += str1[i];
}
printf("str1: %s\n", str1);
printf("str2: %s\n", str2.c_str());
return 0;
}
```