string 基本操作1

1、string转化为字符数组(3种)
string s="abcd";
char *a=new char;
① strcpy(a,s.c_str());   
② strncpy(a, str.c_str(), 10);  //复制s的前10个字符给字符数组a
③ int length=s.copy(a,3); a[length]=’\0’;   //复制s的前3个字符给字符数组a
④ int length=s.copy(a,i,j); a[length]=’\0’;   //复制s的下标从j开始的i个字符给数组a
2、字符数组转化为string
char *a=”abcd”;
string s=a; 
3、截取字符串
string sub1=s.substr(i,j);   //截取s的下标从i开始的j个字符
string sub2=s.substr(m);  //截取s的下标从m开始到末尾的字符
 
4、字符串初始化
① string s(3,’a’)   //将s初始化为3个’a’,即”aaa”.
② string s(”abcd”,2)   // 将s初始化为ab
③ string temp=”abcd”;string s(s,2);  //将s初始化为cd
④ string str=”abcd”;String s(str);
⑤ string s(”abcd”);
5、赋值/增加值
string s;string s2=”ab”;
s=”abcd”;或s.assign(“abcd”);
s+=”ab”;或s.append(“ab”);  s+=s2;或s.append(s2);
s.assign(str,i,j)/s.append(str,i,j) 将str的下标为i开始的j个字符赋值或增加给s
6、交换两个字符串的值
swap(s,s2);
7、插入字符
s.insert(s.begin()+i,ch);   //在s的下标为i的字符前插入字符ch
8、删除字符
s.erase(i);//删除下标为i的元素
9、替换字符
s.replace(i,len,str);   //替换下标从i开始的len个字符为str
10、比较函数(>、==、<、>=、<=)
string s,str;
int a=s.compare(str);  //    s>str,a>0;
s=str,a=0;
s<str,a<0;
按字母顺序从左到右依次比较,如果字母都相等,长度较长的字符串较大。
11、查找函数
     int pos=s.find(str,index);//从s的index(默认为0)位置开始查找字符串str,并返回位置。查找失败返回-1.

猜你喜欢

转载自blog.csdn.net/qq_34068766/article/details/82526192