STL之string

简介: string构造函数,很多重载函数; 1 #include 2 #include 3 4 using namespace std; 5 int main() 6 { 7 string s1; 8 cout

string构造函数,很多重载函数;

 1 #include <iostream>
 2 #include <string>
 3 
 4 using namespace std;
 5 int main()
 6 {
 7     string s1; 
 8     cout << s1 << endl;
 9 
10     string s2(5, 'a');
11     cout << s2 << endl;
12 
13     string s3(s2);  //将s2的字符拷贝到s3中,之后两个完全无关
14     cout << s3 << endl;
15 
16     string s4(s3.begin(), s3.begin()+s3.size()/2);
17     cout << s4 << endl;
18 
19     char *cp = "hi";    //c语言中的字符串,存在一个看不见的'\0'; 
20     char c_array[] ="world!!!!";    //c语言中的字符串,存在一个看不见的'\0'; 
21     char no_null[] = {'H', 'i'};    //字符数组,而非字符串  //{'H', 'i', '\0'}; 
22 
23     string ss1(cp);
24     cout << ss1.size() << ss1 << endl;  //ss1.size()=2 ,ss1=hi,没有\0字符:0
25 
26     string ss2(c_array, 5); 
27     cout << ss2.size() << ss2 << endl;
28         
29     string ss3(c_array+5, 4); 
30     cout << ss3.size() << ss3 << endl;
31 
32     //string ss4(no_null);  //ERROR; 默认全部取出,由于没有\0,没办法截至
33     string ss4(no_null, 2); //OK;
34     cout << ss4.size() << ss4 << endl;
35     cout << ss4.size() << ss4 << endl;
36   //ss2 = "world" 37 string ss5(ss2, 2); //从ss2的第2个位置开始到结束复制给ss5; 38 cout << ss5.size() << ss5 << endl; 39 40 string ss6(ss2, 2, 1); //从ss2的第2个位置开始,最多1个字符结束复制给ss5; 41 cout << ss6.size() << ss6 << endl; 42 43 string ss7(ss2, 0, 8); //从ss2的第0个位置开始,最多8个字符,结束复制给ss5; 44 cout << ss7.size() << ss7 << endl; 45 46 return 0; 47 }

 

相关文章
|
存储 编译器 C语言
【c++丨STL】string类的使用
本文介绍了C++中`string`类的基本概念及其主要接口。`string`类在C++标准库中扮演着重要角色,它提供了比C语言中字符串处理函数更丰富、安全和便捷的功能。文章详细讲解了`string`类的构造函数、赋值运算符、容量管理接口、元素访问及遍历方法、字符串修改操作、字符串运算接口、常量成员和非成员函数等内容。通过实例演示了如何使用这些接口进行字符串的创建、修改、查找和比较等操作,帮助读者更好地理解和掌握`string`类的应用。
502 6
|
C语言 C++ 容器
【c++丨STL】string模拟实现(附源码)
本文详细介绍了如何模拟实现C++ STL中的`string`类,包括其构造函数、拷贝构造、赋值重载、析构函数等基本功能,以及字符串的插入、删除、查找、比较等操作。文章还展示了如何实现输入输出流操作符,使自定义的`string`类能够方便地与`cin`和`cout`配合使用。通过这些实现,读者不仅能加深对`string`类的理解,还能提升对C++编程技巧的掌握。
565 6
|
安全 C语言 C++
【C++篇】探寻C++ STL之美:从string类的基础到高级操作的全面解析
【C++篇】探寻C++ STL之美:从string类的基础到高级操作的全面解析
166 4
|
编译器 C语言 C++
【C++】C++ STL 探索:String的使用与理解(三)
【C++】C++ STL 探索:String的使用与理解
182 2
|
存储 编译器 C++
【C++】C++ STL 探索:String的使用与理解(二)
【C++】C++ STL 探索:String的使用与理解
153 1
|
编译器 C语言 C++
【C++】C++ STL 探索:String的使用与理解(一)
【C++】C++ STL 探索:String的使用与理解
444 1
|
编译器 C++
【C++进阶】深入STL之string:模拟实现走进C++字符串的世界
【C++进阶】深入STL之string:模拟实现走进C++字符串的世界
|
存储 算法 程序员
【STL】string
【STL】string
125 0
|
编译器 C语言 C++
【C++/STL】:string类底层的模拟实现
【C++/STL】:string类底层的模拟实现
110 0
|
算法 C++ 容器
【C++/STL】:string类的基本使用
【C++/STL】:string类的基本使用
150 0