码迷,mamicode.com
首页 > 编程语言 > 详细

C++STL常见用法(未完成

时间:2020-02-06 20:12:47      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:ASDK   string   span   question   表示   新特性   --   code   打印   

1、string(*)

概念:相当于char*的封装,理解为字符串

1.1.简单使用
/**C中定义字符串以及打印*/
char *ch="asdkajbf";
for(int i=0;ch[i]!=\0;i++) cout<<*(ch+i);
/**C++中*/
string s="ssadaffw";
cout<<s<<endl;
1.2.获取一行字符串及长度

用cin读入字符串的时候,是以空格为分隔符的,如果想要读入一整行的字符串,就需要用getline

s 的长度可以用s.length() 获取(有几个字符就是长度多少,不存在char[] 里面的什么末尾的结束之类的)

string s; // 定义一个空字符串s
getline(cin, s); // 读取一行的字符串,包括空格
cout << s.length(); // 输出字符串s的长度

 

1.3.+=运算符

+=对于字符串、字符有效,数字会转为asc码

1.4.排序(使用algorithm头文件)
string s="5418340";
sort(s.begin(),s.end());
cout<<s;
1.5.insert函数

string &insert(int p0, const char *s);——在p0位置插入字符串s

string &insert(int p0, const char *s, int n);——在p0位置插入字符串s的前n个字符

string &insert(int p0,const string &s);——在p0位置插入字符串s

string &insert(int p0,const string &s, int pos, int n);——在p0位置插入字符串s从pos开始的连续n个字符

string &insert(int p0, int n, char c);//在p0处插入n个字符c

iterator insert(iterator it, char c);//在it处插入字符c,返回插入后迭代器的位置

void insert(iterator it, const_iterator first, const_iteratorlast);//在it处插入从first开始至last-1的所有字符

void insert(iterator it, int n, char c);//在it处插入n个字符c

string str="to be question";
string str2="the ";
string str3="or not to be";
string::iterator it; str.insert(
6,str2); // to be (the )question str.insert(6,str3,3,4); // to be (not )the question str.insert(10,"that is cool",8); // to be not (that is )the question str.insert(10,"to be "); // to be not (to be )that is the question str.insert(15,1,:); //加一个‘.‘ to be not to be(:) that is the question it = str.insert(str.begin()+5,,); // to be(,) not to be: that is the question str.insert (str.end(),3,.); // to be, not to be: that is the question(...) str.insert (it+2,str3.begin(),str3.begin()+3); // (or )
1.6.erase函数
/*begin是头迭代器,end是尾迭代器*/
string s="5418340";
s.erase(s.begin());//删除第一个
s.erase(--s.end());//删除最后一个
cout<<s;
1.7.substr函数
string s2=s.substr(4); // 表示从下标4开始一直到结束
string s3=s.substr(5,3); // 表示从下标5开始,3个字符
1.8.循环(3种)

1.for循环

string s="5418340";
for(int i=0;i<s.length();i++) cout<<s[i];

2.迭代器

for(string::iterator it=s.begin();it!=s.end();it++) cout<<*it;

3.迭代器化简

for(auto it=s.begin();it!=s.end();it++) cout<<*it;

4.利用C++ 11新特性for循环

for(auto x:s) cout<<x;

 

C++STL常见用法(未完成

标签:ASDK   string   span   question   表示   新特性   --   code   打印   

原文地址:https://www.cnblogs.com/transmigration-zhou/p/12269811.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!