C++ 字符串的相关方法

String

头文件为 string。由于string类是C++里提出的,所以scanf,printf无法对string进行输入输出。

1.定义及初始化

	string a="123";    //a的值为123
	string b(a);       //b的值为a
	string c("hello"); //c的值为"hello"
	string d(c,2,3);   //从位置2开始 连续三个字符赋值给d

2.获取长度

//两者都使用的是string的  _M_string_length属性
cout<<c.length();
cout<<c.size();

3.字符串连接

//下面两个添加实现同一效果,也可以添加单个字符 如s=s+'1'
s=s+"123";
s.append("123");

4.判断是否为空

if(s.empty())
{
	cout<<"字符串为空";
}

5.比较大小

if(a>b)
{
	cout<<"a字符比较大"<<endl;
}

6.切片用法

//substr(pos,len)
string s="hello";
s=s.substr(0,2);//s的值为he

s.find('l');//返回的结果为‘l’第一次出现的位置 即为2

7.替代

//replace(pos,len,字符)
string a="hello world";
a.replace(0,2,"a");//从第0个元素开始的后两个元素替换成“a”,字符串a :allo world

8.插入

string s="hello";
a.insert(1,"1");//在下标为1的元素之前插入“1”,  a:h1llo

9.删除

//earse(pos,len)
string a="hello world";
a.erase(0,3);//删除从下标为0开始的3个元素

10.字符串拷贝

string b=a;

11.转换为char数组

//c_str string转换为char数组
   string a="123";
   char *b=new char;
   strcpy(b,a.c_str());	

char数组

头文件为cstring

1.初始化

//需要注意,char数组最后一位一定为(0或'\0'),string则没有这个限制
char a[10]="123";
cout<<(int)a[4]; //第四位会直接输出0

2.字符复制

strcpy(a,b);//将b赋值给a
strncpy(a,b,max);//将b前max字符赋值给a

3.字符对比

if(strcmp(a,b)>0)
{
	cout<<"a字符串比较大";
}

4.字符长度

//输出字符a的长度
cout<<strlen(a);

5.字符拼接

strcat(a,b);//将b添加到a的末尾

6.大小写转换

strlwr(a);//将a大写全部转换为小写返回,a的值也会修改
strupr(a);//将a小写全部转换为大写返回,a的值也会修改

7.字符分割

//stroke(a,b) a为原字符 b为分隔符
cout<<stroke(a," ");
//如果a的值为hello world 则输出hello  a的值并不修改

常用数组处理函数

//memset:数组集体赋值,内存操作,速度快
memset(a,0,sizeof(a));//将a的前sizeof(a)字节的值赋为0
//memcpy:数组拷贝,内存操作,速度快
memcpy(a,b,sizeof(b));//将b的前sizeof(b)个字节的数值赋值给a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值