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);沒有實現,如果有大神知道,跪求指教。