std::string assign函数,举一个assign使用迭代器的示例用法示例
时间: 2024-02-07 13:03:47 浏览: 29
`std::string assign()` 函数还可以使用迭代器来指定字符串的子串,以下是一个示例:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str1 = "Hello, world!";
std::string str2;
std::cout << "str2 before assign: " << str2 << std::endl;
// 使用迭代器将 str1 的子串赋值给 str2
str2.assign(str1.begin() + 7, str1.end());
std::cout << "str2 after assign: " << str2 << std::endl;
return 0;
}
```
输出结果为:
```
str2 before assign:
str2 after assign: world!
```
在上面的示例中,使用了 `std::string assign()` 函数的迭代器版本将 `str1` 的子串 `"world!"` 赋值给了 `str2`。可以看到,`str2` 的值被修改为 `"world!"`。
相关问题
std::string assign函数,举一个用法示例
当需要将一个字符串赋值给另一个字符串时,可以使用 `std::string assign()` 函数。以下是一个示例:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str1 = "Hello, ";
std::string str2 = "world!";
std::cout << "str1 before assign: " << str1 << std::endl;
std::cout << "str2 before assign: " << str2 << std::endl;
// 将 str2 赋值给 str1
str1.assign(str2);
std::cout << "str1 after assign: " << str1 << std::endl;
std::cout << "str2 after assign: " << str2 << std::endl;
return 0;
}
```
输出结果为:
```
str1 before assign: Hello,
str2 before assign: world!
str1 after assign: world!
str2 after assign: world!
```
在上面的示例中,使用了 `std::string assign()` 函数将 `str2` 赋值给 `str1`。可以看到,`str1` 的值被修改为 `str2` 的值。
std::string assign函数
`std::string assign()` 是用于将一个字符串赋值给另一个字符串的函数。它可以被用于以下几种方式:
1. 从另一个字符串中拷贝一个子串来赋值给当前字符串。
2. 从另一个 C 风格字符串中拷贝字符及其后续字符来赋值给当前字符串。
3. 从另一个字符串的指定位置开始拷贝指定数量的字符来赋值给当前字符串。
以下是 `std::string assign()` 的不同形式的函数签名:
1. `basic_string& assign(const basic_string& str);`
2. `basic_string& assign(const basic_string& str, size_type pos, size_type n = npos);`
3. `basic_string& assign(const CharT* s, size_type n);`
4. `basic_string& assign(const CharT* s);`
5. `basic_string& assign(size_type n, CharT c);`
其中,`basic_string` 是 `std::string` 的模板类型,`CharT` 是字符类型,`size_type` 是 `std::string` 的无符号整数类型,`npos` 是一个常量,表示无穷大。