string类型转换成char
时间: 2023-09-26 13:05:24 浏览: 213
要将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;
}
```
怎么把string类型转换成char
数组?
可以通过以下方法将string类型转换为char数组:
1. 使用string类的c_str()函数将string类型转换为const char*类型的指针,然后使用strcpy函数将其复制到char数组中。
例如:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int main() {
string str = "hello";
char char_arr[str.length() + 1];
strcpy(char_arr, str.c_str());
cout << char_arr << endl;
return 0;
}
```
2. 使用string类的copy()函数将string类型复制到char数组中。
例如:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int main() {
string str = "hello";
char char_arr[str.length() + 1];
str.copy(char_arr, str.length() + 1);
cout << char_arr << endl;
return 0;
}
```
两种方法都可以将string类型转换为char数组,但第一种方法更常用。