assign()
是“ string”类的库函数,用于分配,替换字符串。此函数是重载函数,我们可以将其用于许多目的,例如分配字符串,替换字符串的一部分,任何常量值等。
参考: std::string::assign()
1)用另一个字符串对象分配字符串(完整字符串)
string& string.assign (const string& str);
2)要分配带有另一个字符串对象/子字符串的字符串,从子位置索引开始到子透镜字符
string& string.assign (const string& str, size_t subpos, size_t sublen);
3)为字符串分配另一个常量字符串
string& string.assign (const char* s);
4)用另一个常量字符串的n个字符分配字符串
string& string.assign (const char* s, size_t n);
5)为字符串分配字符“ c”,n次
string& string.assign (size_t n, char c);
程序:
#include <iostream>
#include <string>
using namespace std;
int main() {
//声明字符串
string str = "Hello world, how are you?";
string str1;
//将完整的字符串(str)分配给str1-
str1.assign (str);
cout<< "str1: " << str1 <<endl;
//将str中的前11字符分配给str1-
str1.assign (str,0,11);
cout<< "str1: " << str1 <<endl;
//将str的索引4中的3个字符分配给str1-
str1.assign (str, 4, 3);
cout<< "str1: " << str1 <<endl;
//分配完整的字符串
//str.begin()和str.end()函数
str1.assign (str.begin (), str.end ());
cout<< "str1: " << str1 <<endl;
//分配字符串的一部分
//str.begin()和str.end()函数
str1.assign (str.begin () +6, str.end () -2);
cout<< "str1: " << str1 <<endl;
//分配3个恒定字符串字符
str1.assign ("Hello",3);
cout<< "str1: " << str1 <<endl;
return 0;
}输出结果
str1: Hello world, how are you? str1: Hello world str1: o w str1: Hello world, how are you? str1: world, how are yo str1: Hel