c++中string的函数assign
时间: 2023-04-28 22:04:01 浏览: 327
C++中string的函数assign用于将一个字符串赋值给另一个字符串,其语法如下:
string& assign (const string& str); // 将str赋值给当前字符串
string& assign (const string& str, size_t subpos, size_t sublen); // 将str中从subpos开始的sublen个字符赋值给当前字符串
string& assign (const char* s); // 将C风格字符串s赋值给当前字符串
string& assign (const char* s, size_t n); // 将C风格字符串s中前n个字符赋值给当前字符串
string& assign (size_t n, char c); // 将n个字符c赋值给当前字符串
其中,第一个函数将一个string类型的字符串赋值给当前字符串;第二个函数将一个string类型的字符串中从指定位置开始指定长度的子串赋值给当前字符串;第三个函数将一个C风格字符串赋值给当前字符串;第四个函数将一个C风格字符串中前n个字符赋值给当前字符串;第五个函数将n个指定字符赋值给当前字符串。
相关问题
c++ string.assign
在C++的string库中,assign函数用于将一个字符串赋值给另一个字符串。它的定义如下:
```cpp
basic_string& assign(const basic_string& __str)
```
该函数接受一个常量引用参数__str,将__str的值赋给当前字符串,并返回当前字符串的引用。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [C++string中的assign()、erase()、swap()函数](https://download.csdn.net/download/weixin_38599231/14885010)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [c++中string的assign方法使用](https://blog.csdn.net/zqw_yaomin/article/details/81281235)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
c++string中的assign()、erase()、swap()函数
### 回答1:
C++中的string类提供了一些基本函数,包括assign()、erase()和swap()等。
assign()函数用于改变字符串的值。它有多个重载形式,可以接受另一个字符串、C风格字符串、字符、字符数组或迭代器作为参数。它将替换原来的字符串内容,并返回一个新的字符串对象。
erase()函数用于从字符串中删除字符。它也有多个重载形式,可以接受位置、区间或迭代器作为参数。它删除指定位置的一个或多个字符,并更新字符串的长度。
swap()函数用于交换两个字符串的值。它接受另一个字符串作为参数,并交换两个字符串的内容。这个函数非常高效,只需交换指针而不是复制字符串。
这些函数在操作字符串时非常方便。使用assign()函数可以快速更改字符串的值,erase()函数可以删除不需要的字符,而swap()函数可以高效地交换字符串。这些函数都是string类的成员函数,可以直接对string对象调用。
下面是一个简单的示例代码,展示了这些函数的用法:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello world";
// 使用assign()改变字符串的值
str.assign("Goodbye");
std::cout << str << std::endl;
// 使用erase()删除字符
str.erase(3, 4);
std::cout << str << std::endl;
// 使用swap()交换字符串
std::string anotherStr = "World";
str.swap(anotherStr);
std::cout << str << std::endl;
std::cout << anotherStr << std::endl;
return 0;
}
```
输出:
```
Goodbye
Goo
World
Hello
```
这段代码首先将字符串str赋值为"Hello world",然后使用assign()函数将其更改为"Goodbye",接着使用erase()函数删除第四个字符到第七个字符,最后使用swap()函数将str和anotherStr交换。
### 回答2:
c中的string是一种用于存储和操作字符串的数据类型,在标准库中提供了许多操作字符串的函数,其中包括assign()、erase()、swap()。
1. assign()函数:这个函数用于将一个字符串赋值给另一个字符串。它有几个重载形式,可以实现将一个C风格字符串赋给一个string对象、将一个string对象赋给另一个string对象以及将一个特定子串赋给一个string对象。使用assign()可以方便地对字符串进行赋值操作。
2. erase()函数:这个函数用于删除字符串中的一部分字符。它有两个重载形式:一个是删除从指定位置开始的指定数量的字符,另一个是删除指定迭代器范围内的字符。使用erase()可以对字符串进行删减操作。
3. swap()函数:这个函数用于交换两个字符串的内容。它可以将两个字符串的内容互换,使得原先存储在一个字符串中的内容变为另一个字符串的内容。使用swap()可以实现字符串内容的快速交换。
这三个函数都是用来操作字符串的重要工具,使用它们可以方便地对字符串进行赋值、删除和交换操作。这些函数都是标准库中提供的操作字符串的函数,可以通过包含相关头文件和调用函数名来使用它们。在编写代码时,可以根据具体的需求选择适合的函数来操作字符串,从而实现对字符串的灵活处理。
阅读全文