c++中string和char的转换
时间: 2023-06-05 18:47:32 浏览: 131
在C++中,string和char之间可以通过以下方式进行转换:
1. char转string:可以通过将char变量放入一个string对象中即可实现转换。
例如:char c = 'a';
string s;
s = c;
2. string转char:可以通过string对象的c_str()函数将其转换为char数组。
例如:string s = "hello";
char* c = s.c_str();
相关问题
C++ 中string与char的转换
在C++中,可以使用以下方法进行string和char之间的转换:
1. 将string转换为char数组:
```
string str = "Hello";
const char* cstr = str.c_str();
```
2. 将char数组转换为string:
```
const char* cstr = "World";
string str(cstr);
```
3. 将单个字符转换为char:
```
char ch = 'A';
```
4. 将char转换为string:
```
char ch = 'B';
string str(1, ch);
```
这些方法可以在string和char之间进行简单的转换。需要注意的是,当将string转换为char数组时,需要注意字符串末尾会自动添加一个null字符('\0'),以表示字符串的结束。
c++中string转换为char
将C++中的`std::string`类型转换为C语言中的`char`类型数组可以通过以下两种方式实现:
1. 使用`c_str()`函数
`c_str()`函数可以返回一个指向`string`对象中存储的C风格字符串的指针,因此可以通过将其赋值给`char`类型数组来实现转换。
示例代码如下:
```c++
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, world!";
char char_arr[str.size() + 1];
strcpy(char_arr, str.c_str());
std::cout << char_arr << std::endl;
return 0;
}
```
2. 使用`copy()`函数
`copy()`函数可以将`string`对象中的字符复制到指定的字符数组中,因此也可以通过使用`copy()`函数来实现转换。
示例代码如下:
```c++
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, world!";
char char_arr[str.size() + 1];
str.copy(char_arr, str.size() + 1);
char_arr[str.size()] = '\0';
std::cout << char_arr << std::endl;
return 0;
}
```
需要注意的是,在使用`copy()`函数时,需要在字符数组的最后一个位置添加空字符(`\0`),以确保字符数组以空字符结尾,否则可能会出现不可预期的结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)