示例中的string :: assign()函数| C ++ STL

string::assign()函数


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