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