关于<string>的使用

string的使用也是方便了字符串的使用和操作.

当然也是又出现了一种新的数据类型string 他跟字符的char是不一样的;

先看一下基础的代码,内容较多 一些主要的知道就行.

//构造 赋值4种方法
string str;//直接定义
string str2(str);//把str的内容赋值给刚定义的str2
string str3="abc";//把abc赋值给刚定义的str3
string str4(10,'a');//把数量为10的a赋值给刚定义的str4

//赋值 assign
str="abcdef";
str2.assign("abcdef",5)//把abcdef的前五个字符赋值给str2;
str2.assign(str,2,5);//把str的第二个到第五个字符赋值给str2;

//求长度
string str;//定义
pos=str.size();//pos为str的长度

//访问
str.at()//括号内为下标
str[]//正常的字符串数组访问方法

//拼接
str1="abc";
str2="def";
str=str1+str2;//正常的加减,可以直接拼接字符串,此时str="abcdef";

//查找
str="abcdef"
pos=str.find("de");//就是查找de在str的位置,返回第一个字符的下标;未找到则返回-1

//替换
str="abcde";
str.replace(1,3,"11111");//替换str中从下标1到下标3段的内容为11111此时str="a11111e";

//比较
str1="abcde";str2="abcdef";
str1.compare(str2)//如果相等返回0,如果大于0则str1,如果小于0则str2大;

//获得子串
str1 str2
str2=str1.substr(0,3)//从str1下标为0开始长度为3的子串赋值给str2;

//插入 删除
str.insert(1,"111")//在下标为1前插入111;
str.erase(1,3);//从下标为1的位置开始删除三个字符

//转换
const char *str="abcd";
string s(str);//将const *转化为string
const char * str2=s.c_str();//string转化为 const char * 


str.at()和str[ ]区别

 主要表现在越界访问的时候,用[ ]越界访问程序会出问题,但是at()越界访问不会有那么大的问题.不会造成太大的伤害.

查找与子串 find和substr

这两个结合可以去解决一些特殊的问题,就是截取一些特殊的字符串.比如网址的四个字符串www.acm.com.cn以find查找' . '的位置然后去截取.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值