怎么添加char字符到std::string中
时间: 2023-11-14 10:05:11 浏览: 45
可以使用 std::string 的成员函数 `push_back()` 或 `append()` 来添加 char 字符到 std::string 中。
1. 使用 `push_back()` 函数:
```cpp
std::string str;
char ch = 'a';
str.push_back(ch);
```
2. 使用 `append()` 函数:
```cpp
std::string str;
char ch = 'a';
str.append(1, ch);
```
以上两种方法都可以将字符 'a' 添加到字符串 str 的末尾。如果需要添加多个字符,可以使用 `append()` 函数,如下所示:
```cpp
std::string str;
const char* chars = "hello";
str.append(chars, 5); // 添加前 5 个字符
```
以上代码将字符串 "hello" 的前 5 个字符添加到字符串 str 的末尾。
另外,还可以使用 `+` 运算符将字符添加到字符串的末尾,例如:
```cpp
std::string str = "hello";
char ch = '!';
str += ch; // 添加字符 '!'
```
以上代码将字符 '!' 添加到字符串 str 的末尾。
相关问题
char* 转std::string
可以使用std::string的构造函数或者直接赋值的方式将char*转换成std::string。具体方法如下:
1.使用构造函数
```cpp
char* p = "Hello";
std::string str(p); // 使用构造函数将char*转换成std::string
```
2.直接赋值
```cpp
char* p = "Hello";
std::string str = p; // 直接将char*赋值给std::string
```
需要注意的是,如果char*指向的是一个字符串常量,那么不能通过char*修改字符串的值,否则会导致未定义的行为。因此,在将char*转换成std::string时,需要确保char*指向的是一个可读的字符串。
char 数组转 std::string
可以使用string的构造函数或者assign方法将char数组转换成std::string。具体方法如下:
```c++
// 使用构造函数
char hello[] = "hello";
std::string str1(hello); // 直接将char数组作为参数传入构造函数
std::string str2 = hello; // 直接将char数组赋值给std::string对象
// 使用assign方法
char msg[] = "hello world";
std::string str3;
str3.assign(msg); // 直接将char数组作为参数传入assign方法
std::string str4;
str4.assign(msg, 5); // 将char数组的前5个字符赋值给std::string对象
```
相关推荐
![hpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](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)