Mark string的相关用法

转自: C++中的String的常用函数用法总结_string函数-CSDN博客

一、string的构造函数

string s("123456789");
auto s2(s,0,2);        // 从第0位开始取s的两位赋值给s2
auto s3(s,5);          // 从第5位即“6”开始到结尾赋值给s3
auto s4("123456",3);   // 从第0位开始取3位赋值给s4
auto s5(3,'f');        // s5 = "fff";
auto s6 = s.substr(1,3);    // 从s的第1位开始获取长度为5的字符串

二、string的大小及容量相关函数

int size();           // str.size();返回字符串str中的字符个数
int length();        //str.length();返回字符串str中的字符个数
int max_size();   // str.size();返回string对象最多包含的字符个数,因设备不同而异
capacity();          // str.capacity();重新分配内存之前,string对象能包含的最大字符数

三、string的比较

">" "<" "=="  ">=" "<="     // str1 > str2根据str1和str2的字符从前往后比较,
int compare();    // str1.compare(str2)返回 0(等于)1(大于)-1(小于)
strcmp(str1,str2);需要包含cstring头文件

四、string的查找

1. size_t find (constchar* s, size_t pos = 0) const;

  //在当前字符串的pos索引位置开始,查找子串s,返回找到的位置索引,

    -1表示查找不到子串

2. size_t find (charc, size_t pos = 0) const;

  //在当前字符串的pos索引位置开始,查找字符c,返回找到的位置索引,

    -1表示查找不到字符

3. size_t rfind (constchar* s, size_t pos = npos) const;

  //在当前字符串的pos索引位置开始,反向查找子串s,返回找到的位置索引,

    -1表示查找不到子串

4. size_t rfind (charc, size_t pos = npos) const;

  //在当前字符串的pos索引位置开始,反向查找字符c,返回找到的位置索引,-1表示查找不到字符

5. size_tfind_first_of (const char* s, size_t pos = 0) const;

  //在当前字符串的pos索引位置开始,查找子串s的字符,返回找到的位置索引,-1表示查找不到字符

6. size_tfind_first_not_of (const char* s, size_t pos = 0) const;

  //在当前字符串的pos索引位置开始,查找第一个不位于子串s的字符,返回找到的位置索引,-1表示查找不到字符

7. size_t find_last_of(const char* s, size_t pos = npos) const;

  //在当前字符串的pos索引位置开始,查找最后一个位于子串s的字符,返回找到的位置索引,-1表示查找不到字符

8. size_tfind_last_not_of (const char* s, size_t pos = npos) const;

 //在当前字符串的pos索引位置开始,查找最后一个不位于子串s的字符,返回找到的位置索引,-1表示查找不到子串

五、其他各种函数

函数名用法功能
push_back()str1.push_back('a');在str1尾部插入字符‘a’
insert()str1.insert(s1.begin()+1,'a')在str1的第二个字符前插入‘a'
append()str1.append("a")在str1字符串后添加字符串“a”
        +        str1 += "a"在str1字符串后添加字符串“a”
erase()str1.erase(iterator p)删除字符串中 p所指的字符
str1.erase(iterator it1,iterator it2)删除从it1所指的字符到it2所指的前一个 [it1 it2)
str1.erase(size_t pos, size_t len = n)删除字符串从索引pos开始的n个字符
clear()str.clear()删除所有字符
replace()str1.replace(size_t p, size_t n, string str2)从索引p开始替换n个字符

tolower()

touopper()

transform(str1.begin(),str1.end(),

s.begin(),::tolower)

与transform结合实现大小写转化
sort()sort(str1.begin(),str1.end())从小达大排序

  • 10
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值