C++基础---string类的operator=/assign
2015-09-03 18:24
549 查看
1. string类的operator=/assign
1.1 std::string::operator=
原型: string& operator= (const string& str);说明: 把string型字符串str赋给当前字符串。
原型: string& operator= (const char* s);
说明: 把char型字符串s赋给当前字符串。
原型:string& operator= (char c);
说明: 把字符c赋给当前字符串。
代码示例:
#include <iostream> #include <string> using namespace std; int main() { string str1, str2, str3; str1 = "Test string: ";//c-string str2 = 'x'; //single character str3 = str1 + str2; //string cout<<"string& operator= (const char* s);"<<endl; cout<<str1<<endl; cout<<endl; cout<<"string& operator= (char c);"<<endl; cout<<str2<<endl; cout<<endl; cout<<"string& operator= (const string& str);"<<endl; cout<<str3<<endl; cout<<endl; system("pause"); return 0; } =>string& operator= (const char* s); Test string: string& operator= (char c); x string& operator= (const string& str); Test string: x
1.2 std::string::assign
原型:string& assign (const string& str);说明: 用string型字符串str赋值给当前字符串。
代码示例:
#include <iostream> #include <string> using namespace std; int main() { string str0="The quick brown fox jumps over a lazy dog."; string str1; str1.assign(str0); cout<<"string& assign (const string& str);"<<endl; cout<<str1<<endl; system("pause"); return 0; } =>string& assign (const string& str); The quick brown fox jumps over a lazy dog.
原型:string& assign (const string& str, size_t subpos, size_t sublen);
说明: 用string型字符串str中下标为subpos处开始拷贝sublen个字符赋值给当前字符串。
代码示例:
#include <iostream> #include <string> using namespace std; int main() { string str0="The quick brown fox jumps over a lazy dog."; string str2; str2.assign(str0, 10, 9); cout<<"string& assign (const string& str, size_t subpos, size_t sublen);"<<endl; cout<<str2<<endl; system("pause"); return 0; } =>string& assign (const string& str, size_t subpos, size_t sublen); brown fox
原型:string& assign (const char* s);
说明: 用char型字符串s赋值给当前字符串。
代码示例:
#include <iostream> #include <string> using namespace std; int main() { string str3; str3.assign("c-string"); cout<<"string& assign (const char* s);"<<endl; cout<<str3<<endl; system("pause"); return 0; } =>string& assign (const char* s); c-string
原型:string& assign (const char* s, size_t n);
说明: 用char型字符串s的前n个字符赋值给当前字符串。
代码示例:
#include <iostream> #include <string> using namespace std; int main() { string str4; str4.assign("pangrams are cool",7); cout<<"string& assign (const char* s, size_t n);"<<endl; cout<<str4<<endl; system("pause"); return 0; } =>string& assign (const char* s, size_t n); pangram
原型:string& assign (size_t n, char c);
说明: 用n个字符c赋值给当前字符串。
代码示例:
#include <iostream> #include <string> using namespace std; int main() { string str5; str5.assign(10,'*'); cout<<"string& assign (size_t n, char c);"<<endl; cout<<str5<<endl; system("pause"); return 0; } =>string& assign (size_t n, char c); **********
原型:template < class InputIterator>string& assign (InputIterator first, InputIterator last);
说明: Copies the sequence of characters in the range [first,last), in the same order.
代码示例:
#include <iostream> #include <string> using namespace std; int main() { string str0="The quick brown fox jumps over a lazy dog."; string str6; str6.assign(str0.begin()+16,str0.end()-12); cout<<"template < class InputIterator>string& assign (InputIterator first, InputIterator last);"<<endl; cout<<str6<<endl; system("pause"); return 0; } =>template < class InputIterator>string& assign (InputIterator first, InputIterator last); fox jumps over
原型:string& assign (initializer_list il);
说明: Copies each of the characters in il, in the same order.
代码示例:
#include <iostream> #include <string> using namespace std; int main() { string str7; str7.assign<int>(10,0x2D); cout<<"string& assign (initializer_list<char> il);"<<endl; cout<<str7<<endl; system("pause"); return 0; } =>string& assign (initializer_list<char> il); ----------
参考文献:
[1] 网络资源:
http://www.cplusplus.com/reference/string/string/operator=/
http://www.cplusplus.com/reference/string/string/assign/
相关文章推荐
- C语言中链表怎么删除结点?
- C语言中链表怎么删除结点?
- C++基础---string类的operator<</operator>>/getline
- Trie
- C++基础---string类的capacity/max_size/size/length/empty/reserve/resize
- C++基础--string类的operator[]/at/back/front
- C++基础---string类的data/c_str/copy
- C++基础---string类的构造函数
- 来看看C语言的-1>1并且小有1的问题
- C++基础---字符串(string型字符串)
- c语言实现顺序二叉树的非递归的三种遍历算法
- 【C语言】结构体
- C++内存管理及指针相关
- C++入门经典 笔记 (第十章)创建指针
- Qt C++中的关键字explicit
- 零基础学C语言 笔记八 二维数组
- C语言中文件包含#include使用尖括号和双引号的区别
- C++入门经典 笔记 (第九章)高级类
- c++中输入和输入语句
- c++ primer读书笔记之c++11(三)