阅读背景:

STL笔记整理_1_string_风语之城的博客

来源:互联网 
 /*
	STL笔记整理
	STL是c++中一个比较方便的东西,不管是为了看别人的代码
	还是让自己的代码看起来更(you)优(bi)美(ge),学一学是
	可以的

	1.string用法
		string在c++用于处理字符串
		可以与c中的char对比着学
	By: JiangDingyuan
	2018-1-14 09:32:53
*/
#include <iostream>
#include <string>//string头文件,注意不要与#include <string.h>或#inlude <cstring>混淆
using namespace std;

int main() {
	//1.定义
	string s;//定义一个string相当于char str[];
	string ss[10];//相当于char str[10][];

	
	//2.定义及初始化
	string str_1("ssrssr");//定义str_1并将它赋值"ssrssr",相当于char str_1[] = "ssrssr"
	string str_2 = "ssrssr";//功能同上,写法不同

	string str_3(str_2); //定义str_2并将str_1中的所有元素赋给str_2
	string str_4 = str_3; //功能同上,写法不同

	string str_5(10,'c');//定义str_5并将前10个位置全部赋值为'c'
	
	
   	string str_6("12345",3);//将字符串"12345"前三个字符赋值给str_6
	string sss = "abcdef";
	string str_7(sss,2);//将sss从下标2到末尾赋值给str_7
	string str_8(sss,2,3);//将sss从下标2开始的3个字符赋给str_8


	//3.string操作
	//3.1.string基本操作
	string a;
	cin >> a;
	cout << a <<endl; //string可以直接用cin cout进行输入输出
	/*
	string支持char类型的访问每一个元素的方式,同时
	支持+><=等操作,比之char类型更加强大.
	*/
	string t1 = "123456789";
	string t2;
	string t3 = "234567891";
	string t4,t5,t6;
	for (int i = 0; i < 9; i++)
		cout << t1[i] << endl; //访问t1中每一个元素
	t2 = t1;//将t2赋值为t1
	t1 == t2; //判断t1 t2是否相等
	t1 > t3; t1 < t3;//判断t1 t3 大小
	t4 = t2 + t3; //将t2t3相连赋给t4
                                      
	//3.2.string常用函数
	cout << t1.size() <<endl; //输出t的长度
	t2.assign(t1); //将t1赋给t2
	t3.assign(t1,2,3);//将t1从下标2开始的3个字符赋给t3
	t4.assign("abcde",4);//将字符串"abcde"前三个字符赋值给t4
	t5.assign(10,'c');//将s5前10个位置全部赋值为'c'
	cout << "/****************************/" <<endl;
	t1.begin();//返回一个迭代器,指向t1第一个元素
	t1.end();//返回一个迭代器,指向t1的末尾(最后一个字符的下一个位置)
	t1.rbegin();//返回一个逆向迭代器,指向t1的最后一个字符
	t1.rend();//返回一个逆向迭代器,指向t1的开头(第一个字符的前一个位置)
	/*
	在这里,可以将迭代器理解为一个指针,但要注意
	逆向迭代器的移动方向与正迭代器方向相反,例如,
	如果想取到t1[0]处的元素,要写成*(t1.rend()-1)
	*/
	t1.erase(2,5);//删除从下标2开始的五个元素
        t2.erase(t2.begin()+5, t2.end()-2);//删除从begin+5开始到end-2之前的所以有元素
        substr(i,4) 复制从i开始后面4个字符
	return 0;
} /*
	STL笔记整理
	STL是c++中一个比较方便的东西,不管是为了看别人的代码



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: