C++ string中的函数和常用用法

简介: C++ 中string中的函数和常用用法

string中常用操作函数:

s.substr(p,n) 截取字符的某个子串。p表示字符串的某个下标,n表示长度,返回字符串s中下标从p开始的n个字符的字符串,如果n省略就取到底。

s.erase(p,n) 删除s中从p开始的n个字符,如果n省略,就取到底。

s.erase(string::iterator it)删除it 位置的字符

s.erase(s.first,s.last),删除first-last之间的所有元素

s1.insert(p,s2,pos,n) 在字符串s1位置p前插入字符串s2,后面两个参数可以省略。如果有后面两个参数pos和n,则从s2中截取从pos位置开始长度为n的字符串,插入到字符串s1位置p前。

s.find(s1) 在字符串s中从前往后查找s1,如果能找到,返回第一次出现的s1首字母下标位置,找不到返回-1 (找不到也可写成返回string::npos

s.find(s1,pos) 是用来寻找从字符串s1中pos开始(包括pos处字符)匹配s1的位置。

s.rfind(s1) 在s中从后往前寻找字符串s1后边第一次出现的下标。

s.rfind(s1,pos)在s中从pos位置开始从后往前寻找字符串s1后边第一次出现的下标。

s.insert(p,n,c) 在字符串s中p位置前插入n个字符c。

s.clear() 清空字符串

string s; s="12321"; s=""; 给字符串赋值空串来清空

s.size() 或者s.length() 返回字符串s的长度。

s.empty() 判断字符串s是否为空,为空返回1,非空返回0。

s[i] 返回字符串s中下标为i的位置,string中下标也是从0开始。

count(s.begin(),s.end(), 'a')可以用来统计字符串中某个字符的个数

赋值运算符:= 将后面的字符串赋值给前面的字符串

比较运算符:== != < <= > >= 比较两个字符串的字典序大小

连接运算符: + += 将一个字符串加到另一个字符串后面

相关文章
|
25天前
|
C语言 C++ 容器
【c++丨STL】string模拟实现(附源码)
本文详细介绍了如何模拟实现C++ STL中的`string`类,包括其构造函数、拷贝构造、赋值重载、析构函数等基本功能,以及字符串的插入、删除、查找、比较等操作。文章还展示了如何实现输入输出流操作符,使自定义的`string`类能够方便地与`cin`和`cout`配合使用。通过这些实现,读者不仅能加深对`string`类的理解,还能提升对C++编程技巧的掌握。
52 5
|
25天前
|
存储 编译器 C语言
【c++丨STL】string类的使用
本文介绍了C++中`string`类的基本概念及其主要接口。`string`类在C++标准库中扮演着重要角色,它提供了比C语言中字符串处理函数更丰富、安全和便捷的功能。文章详细讲解了`string`类的构造函数、赋值运算符、容量管理接口、元素访问及遍历方法、字符串修改操作、字符串运算接口、常量成员和非成员函数等内容。通过实例演示了如何使用这些接口进行字符串的创建、修改、查找和比较等操作,帮助读者更好地理解和掌握`string`类的应用。
38 2
|
2月前
|
程序员 C++ 容器
在 C++中,realloc 函数返回 NULL 时,需要手动释放原来的内存吗?
在 C++ 中,当 realloc 函数返回 NULL 时,表示内存重新分配失败,但原内存块仍然有效,因此需要手动释放原来的内存,以避免内存泄漏。
|
2月前
|
存储 安全 C++
【C++打怪之路Lv8】-- string类
【C++打怪之路Lv8】-- string类
26 1
|
2月前
|
存储 前端开发 C++
C++ 多线程之带返回值的线程处理函数
这篇文章介绍了在C++中使用`async`函数、`packaged_task`和`promise`三种方法来创建带返回值的线程处理函数。
79 6
|
2月前
|
C++
C++ 多线程之线程管理函数
这篇文章介绍了C++中多线程编程的几个关键函数,包括获取线程ID的`get_id()`,延时函数`sleep_for()`,线程让步函数`yield()`,以及阻塞线程直到指定时间的`sleep_until()`。
38 0
C++ 多线程之线程管理函数
|
2月前
|
C++ 容器
|
2月前
|
C语言 C++
深度剖析C++string(中)
深度剖析C++string(中)
57 0
|
2月前
|
存储 编译器 程序员
深度剖析C++string(上篇)(2)
深度剖析C++string(上篇)(2)
43 0
|
2月前
|
存储 Linux C语言
深度剖析C++string(上篇)(1)
深度剖析C++string(上篇)(1)
33 0