C++ STL string容器语法及内置方法

一、描述

string就是用起来很方便的已经封装好char*的字符串容器,string容器封装了许多的自带方法,非常方便

二、初始化

1、构造函数及=、+=重载初始化

  • 直接声明并初始化
string str;
str="abcd";
  • 复制粘贴另一个字符串(可为string可为char*)
string str1;
str1="asfd";
string str(str1);
string str1;
str1="asfd";
string str=str1;;
  • n个字符c初始化
string str(100,'x');
  • +=:str2字符串(字符)加到str1后
str1+=str2;

2、内置方法赋值初始化

  • 复制粘贴整个字符串
str.assign(str1);
  • 复制粘贴字符串的前n个
str.assign(str1,n);
  • n个字符c
str.assign(10,'x');

三、获取

  • 像数组一样用[]获取
char x=str[1];
  • 用内置方法at类似[]
char x=str.at(i);

四、内置方法

1、append 拼接(类似+=)

  • +=版append
str.append("asdf");
  • 指定字符串前3个字符于串尾
str.append("asdf",3);
  • 指定字符串特定位置m开始的n个字符于串尾
str.append("asdasdasdf",m,n);

2、find/rfind 查找

find

  • 在str中从指定位置(不填则默认为0)开始找指定字符串(字符)第一次出现的位置,返回其下标
int pos=str.fing("asd",2);
  • 在str中从指定位置m开始找指定字符串的前n个字符第一次出现的位置,返回其下标
int pos=str.fing("asd",m,n);

rfind

注:rfind就是将find的第一次出现全改为最后一次
  • 在str中从指定位置开始找指定字符串(字符)最后一次出现的位置,返回其下标
int pos=str.rfing("asd",2);
  • 在str中从指定位置m开始找指定字符串的前n个字符最后一次出现的位置,返回其下标
int pos=str.rfing("asd",m,n);

3、replace 替换

  • 从m处开始的n个字符换为制定字符串
str.replace(2,2,"asdasd");

4、insert 插入

  • 指定位置n插入字符串
str.insert(n,"asda");
  • 指定位置n插入m个字符c
str.insert(n,m,'s');

5、erase 删除

  • 删除位置pos开始的n(无则默认到结尾)个字符
str.erase(pos,n);

6、substr 子串

  • 返回位置pos(无则默认0)开始的n(无则默认到结尾)个字符的字符串
str.substr(pos,n);

7、compare 比较

用ASCⅡ码比较
相等反0
大于反1
小于反-1

int x=str.compare(str1);

猜你喜欢

转载自blog.csdn.net/DonquixoteXXXXX/article/details/113797909