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')可以用来统计字符串中某个字符的个数

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

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

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

相关文章
|
24天前
|
存储 安全 C语言
C++ String揭秘:写高效代码的关键
在C++编程中,字符串操作是不可避免的一部分。从简单的字符串拼接到复杂的文本处理,C++的string类为开发者提供了一种更高效、灵活且安全的方式来管理和操作字符串。本文将从基础操作入手,逐步揭开C++ string类的奥秘,帮助你深入理解其内部机制,并学会如何在实际开发中充分发挥其性能和优势。
|
7天前
|
安全 C++
【c++】继承(继承的定义格式、赋值兼容转换、多继承、派生类默认成员函数规则、继承与友元、继承与静态成员)
本文深入探讨了C++中的继承机制,作为面向对象编程(OOP)的核心特性之一。继承通过允许派生类扩展基类的属性和方法,极大促进了代码复用,增强了代码的可维护性和可扩展性。文章详细介绍了继承的基本概念、定义格式、继承方式(public、protected、private)、赋值兼容转换、作用域问题、默认成员函数规则、继承与友元、静态成员、多继承及菱形继承问题,并对比了继承与组合的优缺点。最后总结指出,虽然继承提高了代码灵活性和复用率,但也带来了耦合度高的问题,建议在“has-a”和“is-a”关系同时存在时优先使用组合。
46 6
|
27天前
|
C++
模拟实现c++中的string
模拟实现c++中的string
|
4月前
|
C语言 C++ 容器
【c++丨STL】string模拟实现(附源码)
本文详细介绍了如何模拟实现C++ STL中的`string`类,包括其构造函数、拷贝构造、赋值重载、析构函数等基本功能,以及字符串的插入、删除、查找、比较等操作。文章还展示了如何实现输入输出流操作符,使自定义的`string`类能够方便地与`cin`和`cout`配合使用。通过这些实现,读者不仅能加深对`string`类的理解,还能提升对C++编程技巧的掌握。
199 5
|
4月前
|
存储 编译器 C语言
【c++丨STL】string类的使用
本文介绍了C++中`string`类的基本概念及其主要接口。`string`类在C++标准库中扮演着重要角色,它提供了比C语言中字符串处理函数更丰富、安全和便捷的功能。文章详细讲解了`string`类的构造函数、赋值运算符、容量管理接口、元素访问及遍历方法、字符串修改操作、字符串运算接口、常量成员和非成员函数等内容。通过实例演示了如何使用这些接口进行字符串的创建、修改、查找和比较等操作,帮助读者更好地理解和掌握`string`类的应用。
127 2
|
5月前
|
程序员 C++ 容器
在 C++中,realloc 函数返回 NULL 时,需要手动释放原来的内存吗?
在 C++ 中,当 realloc 函数返回 NULL 时,表示内存重新分配失败,但原内存块仍然有效,因此需要手动释放原来的内存,以避免内存泄漏。
|
5月前
|
存储 安全 C++
【C++打怪之路Lv8】-- string类
【C++打怪之路Lv8】-- string类
51 1
|
5月前
|
存储 前端开发 C++
C++ 多线程之带返回值的线程处理函数
这篇文章介绍了在C++中使用`async`函数、`packaged_task`和`promise`三种方法来创建带返回值的线程处理函数。
180 6
|
5月前
|
C语言 C++
深度剖析C++string(中)
深度剖析C++string(中)
77 0
|
5月前
|
存储 编译器 程序员
深度剖析C++string(上篇)(2)
深度剖析C++string(上篇)(2)
62 0