assign()函数
时间: 2023-07-30 12:05:53 浏览: 47
在C++中,assign()函数用于将指定的值分配给字符串。它的语法如下:
```cpp
string& assign (const string& str); // 用字符串 str 的副本替换当前字符串
string& assign (const char* s); // 用字符串 s 的副本替换当前字符串
string& assign (const char* s, size_t n); // 用字符串 s 的前 n 个字符替换当前字符串
string& assign (size_t n, char c); // 用 n 个字符 c 替换当前字符串
```
其中,第一个参数n指定要替换的字符数,第二个参数c指定要替换的字符。assign()函数会返回当前字符串的引用。下面是一些示例:
```cpp
string str1 = "Hello World!";
string str2;
// 使用 assign() 函数将 str1 赋值给 str2
str2.assign(str1);
cout << str2 << endl; // 输出 Hello World!
// 使用 assign() 函数将 "Hello" 赋值给 str2
str2.assign("Hello");
cout << str2 << endl; // 输出 Hello
// 使用 assign() 函数将 str1 的前 5 个字符赋值给 str2
str2.assign(str1, 5);
cout << str2 << endl; // 输出 World
// 使用 assign() 函数将 10 个字符 'A' 赋值给 str2
str2.assign(10, 'A');
cout << str2 << endl; // 输出 AAAAAAAAAA
```
注意,如果使用 assign() 函数替换当前字符串的一部分,那么该字符串的剩余部分将保持不变。如果要替换整个字符串,可以使用赋值运算符`=`,如 `str2 = str1`。
阅读全文