STL string family --string

Konjac after a lapse of 20 days and update STL library, and recently a serious epidemic, play at home is very Hey, do not want to knock Code (lazy), and finally drag mop, updated again in 20 days, hee hee (My computer games begin classes a)
ado, the Code

#include <bits/stdc++.h>
using namespace std;
void tureorfalse(int x){
  cout<<(x?"Ture":"False")<<endl;
}

void tobechar(string str){//c_str与data的用法
  const char* pszOutput=str.c_str();//返回的是const char*类型的字符串
  //const char* pszOutput=str.data();
  cout<<pszOutput<<endl;
}

void isempty(string str){
  if(str.empty()){
  cout<<"str is empty"<<endl;
}

string str="xxl";//两种初始化的方式
string s(str);

char temp,temp1,a[20];
string str1("a");
string str2("AA");
int main(){
  cout<<str<<" "<<s<<endl;//直接输出字符串只能用cout不能用printf
  cout<<str.size()<<" "<<str.length()<<endl;//返回字符串长度
  cout<<str.max_size()<<endl;//返回string类型最多包含的字符数
  str.assign("wlp");//将str赋予新值
  cout<<str<<endl;
  
  temp=str[0];//注意字符串计数是从零开始
  temp1=str.at(1);
  cout<<temp<<" "<<temp1<<endl;
   
   cout<<"str1 "<<str1<<" >=str2 "<<str2
   cout<<"return:"
   trueorfalse(str1>=str2);//直接可以用大于号小于号按照字典序来比较大小 注意两条:越后面的字母越大,小写字母大于大写字母,也可实现数字的大小的比较
   
   str.erase(2);//删除一个字符串
   //str.erase(str.begin(),str.end());
   cout<<str<<endl;

   cout<<str1<<" "<<str2<<endl;
   str1.swap(str2);//交换字符串str1与str2
   cout<<str1<<" "<<str2<<endl;

   str.insert(2,"p");//在最末尾的位置插入p
   cout<<str<<endl;

   str.append(" love xxl");//在字符串的后面追加字符串
   cout<<str<<endl;

   str.append("very much!",10);//在字符串后面追加字符串的前10个字符
   cout<<str<<endl;

   cout<<(int)str,find("ve",0)<<endl;//返回的是被搜索的字符串与目标字符串第一个字母相等的第一个位置 直到找到ve的位置6

     cout<<(int)str.rfind("ve",str.length()-1)<<endl;//适用于逆向寻找 从22开始往后减21,20,19....直到找到ve为13

  cout<<(int)str.find_first_of("very",0)<<endl;//返回的是被搜索字符串的第一个字符第一次出现的位置

cout<<(int)str.find_last_of("very",str.length()-1)<<endl;//返回的是被搜索字符串的第一个字符最后一次出现的位置(逆序数)

cout<<(int)str.find_first_not_of("much",0)<<endl;//返回的是搜索的字符串与目标字符串第一个不相等的第一个字符的位置

cout<<(int)str.find_last_not_of("much",str.length()-1)<<endl;//返回的是搜索的字符串与目标字符串第一个不相等的最后一个字符的位置(逆序数)
   
//str.clear();//清除该字符串
//cout<<str<<endl;

//str.resize(10);//改变size的大小,给size指定新的长度
//cout<<str<<endl;

str.replace(4,4,"like");//在str的pos=4的位置往后的len=4字符(love)替换为like
cout<<str<<endl;

str.replace(4,4,"like",0,4);//在str的pos=4的位置往后的len=4字符(love)替换从like的第0个位置往后4个字符串,也就是like
cout<<str<<endl;

string strsub=str.substr(0,3);//substr的意思是从str取字符子串 其中0代表的是从下标为0的地方开始取,3表示取3个字符
cout<<strsub<<endl;

isempty(str);
tobeChar(str);
return 0;

}

Released four original articles · won praise 1 · views 61

Guess you like

Origin blog.csdn.net/weixin_45186911/article/details/104430060