string::assign()——六个重载函数
语法:
//1.把字符串s赋给当前字符串
basic_string &assign( const basic_string &str );
//2.用 char *类型字符串s赋值
basic_string &assign( const char *str );
//3.用 char *字符串s开始的n个字符赋值
basic_string &assign( const char *str, size_type num );
//4.用num个字符ch为字符串赋值
basic_string &assign( size_type num, char ch );
//5.把字符串s中从start开始的n个字符赋给当前字符串
basic_string &assign( const basic_string &str, size_type index, size_type len );
//6.把first和last迭代器之间的部分赋给字符串
basic_string &assign(const_iterator first,const_itertor last)
代码:
int main()
{
string str2;
//1.basic_string& assign(const basic_string& _Right);把字符串s赋给当前字符串
string str1 = "xiao ku";
str2.assign(str1);
cout << "1. " << str2 << endl;
//2.string &assign(const char *s);用c类型字符串s赋值
const char* s = "abcd";
cout << "2. " << str2.assign(s) << endl;
//3.string &assign(const char *s,int n);用c字符串s开始的n个字符赋值
cout << "3. " << str2.assign(s, 2) << endl;
//4.basic_string &assign( size_type num, char ch );用num个字符ch为字符串赋值
char ch = 'i';
cout << "4. " << str2.assign(3, ch) << endl;
//5.string &assign(const string &s,int start,int n);把字符串s中从start开始的n个字符赋给当前字符串
cout << "5. " << str2.assign(str1,0,2) << endl;
//6.string &assign(const_iterator first,const_itertor last);把first和last迭代器之间的部分赋给字符串
vector<string> V;
V.push_back("xiao_ku");
V.push_back("192.168.10.202");
//cout << "6. " << str2.assign(V.begin(), V.end()) << endl;
执行结果:
第六个 6.string &assign(const_iterator first,const_itertor last);没有实现,如果有大神知道,跪求指教。