C++中string的用法

简介: 我们知道string可以构造一个字符串变量,那么它的操作有哪些呢。它包含在string库中(不是string.h没有.h),它可以和定义一个字符一样定义一个字符串变量,而且强大的C++还内置了各种函数,基本实现不用再手写操作函数。

我们知道string可以构造一个字符串变量,那么它的操作有哪些呢。它包含在string库中(不是string.h没有.h),它可以和定义一个字符一样定义一个字符串变量,而且强大的C++还内置了各种函数,基本实现不用再手写操作函数。而且可以进行字典序的比较和串操作。

一、对位和对串操作

如何或者string串中的某一位字符呢,我们使用数组下面的方式就可以访问。

例如

string s = "abcdef";
cout << s[0] << endl;

结果就应该是输出了字符'a',同时string类型也可以直接加上另一个字符串,例如

string a = "abc", b = "bcd";
a = a + b;
cout << a << endl;

结果应该输出字符串“abcbcd”。

二、内置函数

在string类型中其实包括了很多函数,例如

 1     string s = "a";
 2     s.append(2,'b');//s.append(n,c);在s串后面加入n个c字符(append还有其他用法,详情可百度)
 3     s.erase(s.begin(),s.begin()+2);//s.erase(l,r);删除某个区间,l,r都为迭代器
 4     s.erase(it);//删除一个字符,it为迭代器
 5     s.size();//返回字符串s的长度大小
 6     s.begin();//返回首位置的迭代器
 7     s.end();//返回末位置的迭代器
 8     s.insert(it,ch);//在it位置插入ch字符,it为迭代器
 9     s.resize(len,c);//把字符串当前大小置为len,并用c填充不足的部分
10     s.empty();//判断是否为空串
11     s.length();//返回字符串的长度
12     s.max_size();//返回当前系统string对象可存放的最大长度
13     s.capacity();//返回当前容量
14     s.at(k);//返回第k+1个字符(该用法会坚持是否越界)
15     s.c_str();//返回C字符串的指针,内容为s串
16     s.find(s1);//查找s中是否包含s1,并返回头位置,找不到则返回string::npos
17     s.replace(k,x,ch);//从k位置开始,把后面的x个元素替换为ch(还有很多其他用法)
18     s.swap(s2);//交换两个string字符串

而且string还支持直接比较两个字符串的大小(内置字典序比较方式)。除了上面写了的外,string其实还有很多函数。

emmm写到一半发现了个讲的很全的博客,不写了 ==

C++string类型详解

目录
相关文章
|
3天前
|
算法 C++ 容器
【C++】string模拟实现
【C++】string模拟实现
12 1
|
3天前
|
C语言 C++
【C++】string类(常用接口)
【C++】string类(常用接口)
21 1
|
1天前
|
存储 算法 搜索推荐
C++|STL简介-string-vector基础运用
C++|STL简介-string-vector基础运用
|
2天前
|
C语言 C++ 容器
C++ string类
C++ string类
8 0
|
3天前
|
Linux Shell 开发工具
C++ 的 ini 配置文件读写/注释库 inicpp 用法 [ header-file-only ]
这是一个C++库,名为inicpp,用于读写带有注释的INI配置文件,仅包含一个hpp头文件,无需编译,支持C++11及以上版本。该库提供简单的接口,使得操作INI文件变得容易。用户可通过`git clone`从GitHub或Gitee获取库,并通过包含`inicpp.hpp`来使用`inicpp::iniReader`类。示例代码展示了读取、写入配置项以及添加注释的功能,还提供了转换为字符串、双精度和整型的函数。项目遵循MIT许可证,示例代码可在Linux环境下编译运行。
33 0
|
3天前
|
编译器 C++
【C++】继续学习 string类 吧
首先不得不说的是由于历史原因,string的接口多达130多个,简直冗杂… 所以学习过程中,我们只需要选取常用的,好用的来进行使用即可(有种垃圾堆里翻美食的感觉)
8 1
|
3天前
|
算法 安全 程序员
【C++】STL学习之旅——初识STL,认识string类
现在我正式开始学习STL,这让我期待好久了,一想到不用手撕链表,手搓堆栈,心里非常爽
16 0
|
3天前
|
存储 安全 测试技术
【C++】string学习 — 手搓string类项目
C++ 的 string 类是 C++ 标准库中提供的一个用于处理字符串的类。它在 C++ 的历史中扮演了重要的角色,为字符串处理提供了更加方便、高效的方法。
18 0
【C++】string学习 — 手搓string类项目
|
3天前
|
存储 C++ 容器
【C++从练气到飞升】09---string语法指南(二)
【C++从练气到飞升】09---string语法指南(二)
|
3天前
|
存储 Linux C语言
【C++从练气到飞升】09---string语法指南(一)
【C++从练气到飞升】09---string语法指南(一)