一、常用函数介绍:
C语言-----------------------------strcmp:比较2个字符串是否相等
C语言-----------------------------strcat:合并字符串
C语言-----------------------------strcpy:将A字符串复制给B字符串
C++的string类中的函数------assign:str1.assign(str2,3,1) 表示将第2个字符串的第3个字符开始,复制1个字符给字符串str1
C语言-----------------------------strncat:strncat(ch1,ch2,3)表示将第2个字符串的前3位字符,加到第1个字符串的末尾
C++的string类中的函数------append:str1.append(str2,2,3)表示将第2个字符串的第3个字符开始后的3位字符加到字符串str1末尾
C语言-----------------------------strncpy:将B字符串的几个字符替换A字符串 strncpy(ch1,ch2,3) 表示将字符串ch2前面3个字符替换字符串ch1
C++的string类中的函数------replace:该函数可重载,能够实现将一个字符串的第几个字符到第几个字符替换另一个字符串的第几个字符到第几个字符
二、char字符串的复制与string字符串的复制
1、memmove:memmove(ch1,ch2,10) 表示将字符串ch2的10个字符复制到字符串ch1的前面10位
2、C++的string类中的函数------assign:str1.assign(str2,3,1) 表示将第2个字符串的第3个字符开始,复制1个字符给字符串str1
3、从string型字符串复制到char型字符串的copy函数
#include<iostream>
#include<string>
using namespace std;
int main(void)
{
string str = "abcd";
char ch [] = "1234";
int n;
n=str.copy(ch,2,0);
cout<<"拷贝了"<<n<<"字符"<<endl;
cout<<"拷贝后:"<<ch<<endl;
return 0;
}
执行结果:
2
ab34
分析:str.copy(ch,2,0) 表示将str字符串的前2个字符复制到ch字符串的前2位,覆盖原字符
三、string型字符串的插入
str.insert(index1,str1,index2,num)
表示:在str1字符串的位置Index1处插入字符串str的子串(从index2开始,长num个字符)
四、string型字符串的删除
string类erase成员函数
该函数可被重载
s.erase(index,num)
s.erase(index)
s.erase()
五、string型字符串的查找
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str("hello world");
int f = str.find("w",0);//第1个参数是要查找的字符,第2个参数是起点,find函数,如果查找到了会返回字符的位置,没有找到则返回npos
if( f != string::npos)//比较返回的值是否为npos
cout<<"在第"<<f<<"个字符"<<endl;
else
cout<<"没有找到"<<endl;
return 0;
}
string类别的一些查找函数,如:
find_first_not_of()
//查找第一个与value中的某值不相等的字符
find_first_of()
//查找第一个与value中的某值相等的字符
find_last_of()
//查找最后一个与value中的某值相等的字符
find_last_not_of()
//查找最后一个与value中的某值不相等的字符
rfind()
//查找最后一个与value中的某值相等的字符
六、string型字符串的比较
compare()
七、判断string型字符串是否为空
empty()
八、字符串的交换
char:
swap(ch1,ch2,strlen(ch1))
string:
str1.swap(str2)
九、将string型字符串转为char型字符串
ch=str.c_str()