C++中string类的用法概述

C++ string类详解 本文前面主要介绍了C++字符串string类。本文综合了《c++ string类的使用方法》和《c++ String 类函数详解》的内容,并加上一些自己其他的补充。C++ string类概述C++提供了一种新的数据类型:字符串类型(string类型),在使用方法上,它和char,int类型一样,可以用来定义变量,这就是字符串变量——用一个名字代表一个字符序列。实际上,string并不是C++ 语言本 阅读详情

basic_string::compare

如果所比较的两个string 相等,则返回0; 操作string 大于参数string,返回

正数;操作string 小于参数string,返回负数。

(1) 比较操作string 与 _Str 或C-string _Ptr

int compare( const basic _ string& _Str ) const;

int compare( const value _ type* _Ptr ) const;

int com = s.compare ( sp );

(2) 比较操作string 中 _Pos1 ( 下标)开始的 _Num1 个字符 与 string _Str

比较操作string 中 _Pos1 ( 下标)开始的 _Num1 个字符 与 C-string _Ptr

比较操作string 中 Pos1 ( 下标)开始的 Num1 个字符 与 Str 中 Off ( 下标)开始 Count 个字

符

int compare( size _ type _Pos1 , size _ type _Num1 , const basic _ string& _Str );

int compare( size _ type _Pos1 , size _ type _Num1 , const value _ type* _Ptr ) const;

int compare( size _ type _Pos1 , size _ type _Num1 , const basic _ string& _Str ,

size _ type _Off , size _ type _Count );

int com1 = s.compare ( 2 , 3 , sp );

int com2 = s.compare ( 2 , 3 , c );

int com3 = s.compare ( 1 , 3 , cs , 3 ,1 );

basic_string::erase

删除string 中的一个或几个元素。前两个成员函数,返回要被删除的子串的下

一个元素的iterator; 第三个函数,返回删除后的string 的引用。

(1) 删除string 中从 _ First 到 _ Last 的字符

iterator erase( iterator _First , iterator _Last );

basic_string ::iterator s_Iter;

s_Iter = s.erase ( s.begin ( ) + 3 , s.end ( ) - 1 ); // s_Iter=s.end( )

(2) 删除string 中 _It 所指的字符

iterator erase( iterator _It );

s_Iter = s.erase ( s.begin ( ) + 5 );

(3) 删除string 中从 _Pos ( 下标)开始的 _Count 个字符

basic _ string& erase( size _ type _Pos = 0, size _ type _Count = npos );

str = s.erase ( 6 , 8 ); // str 也是 string

basic_string::find

寻找给定的string。返回找到的第一个string 下标值;如果没找到则返回npos。

(1) 找一个character _Ch 。(默认从头找)

size _ type find( value _ type _Ch , size _ type _Off = 0 ) const;

string s ( "Hello Everyone" );

basic_string ::size_type index1, index2;

static const basic_string ::size_type npos = -1;

index1 = s.find ( "e" , 3 ); // index1=8, 不是 6

index2 = s.find ( "x" ); // index2=-1

if ( indexCh1a != npos ) cout <else cout << "The character 'e' was not found in str1 ." << endl;

(2) 找一个C-string。(默认从头找)

size _ type find( const value _ type* _Ptr , size _ type _Off = 0 ) const;

string s ( "Let me make this perfectly clear." );

basic_string ::size_type index;

const char *c = "perfect";

index = s.find ( c , 5 ); // index=17

(3) 找一个string。(默认从头找)

size _ type find( const basic _ string& _Str , size _ type _Off = 0 ) const;

string s ( "clearly this perfectly unclear." );

basic_string ::size_type index;

string sta ( "clear" );

index = s.find ( sta , 5 ); // index=24

 

其实string本质上跟vector差不多

c++ string 的常用库函数的用法 String的遍历。 阅读详情

相关推荐

c++string类的实现

1)代码注释很详细的,非常适合学习STL的 2)string类经常用到find find_first_of find_first_not_of find_last_of find_last_not_of substr replace等,以及联合使用来达到java中的split和trim 3) 有些函数返回的是MyString& 、Char& 等(引用),MyString、Char 等(传值)这得看你返回的对象是函数的局部变量还是全局变量(或者类当前对象成员变量);前者只能返回一个MyString、Char 等;后者强烈建议返回MyString& 、Char& 等(引用);

C++ string 基本用法

C++string函数的基本使用方法

可涵的博客 3万+

Dify 1.0+内网部署全攻略:模型插件离线安装与信创环境适配

本文详细介绍了Dify 1.0+版本在内网环境中的部署全攻略,重点解析了模型工具插件的离线安装方法与信创环境适配技巧。通过实战经验分享,帮助企业在严格的内网隔离条件下高效部署AI平台,解决插件依赖和安装难题,提升大语言模型的应用效率。

weixin_29224529的博客 273

c++ string用法 入门必看 超详细

string就是字符串的意思,是c++用来代替char数组的数据结构。里面封装了一些常用的方法,方便我们地对其进行一些操作,而且string的空间大小是动态变化的,大大减小了不必要的花销。

weixin_52115456的博客 2万+

Windows 10错误代码解析与系统故障排除指南

操作系统错误代码是系统运行状态的直接反馈,Windows系统通过特定编码机制将故障信息转化为可识别的错误代码。从技术原理看,这些代码通常对应特定的异常处理流程,包括内存管理、驱动兼容性、文件系统等核心模块。理解错误代码对于系统维护具有重要价值,能快速定位问题根源,提高故障排除效率。在实际应用场景中,蓝屏错误(如0x0000007B)、系统升级失败(如0x80070002)和启动故障是最常见的三类问题。通过分析dump文件、使用WinDbg工具和系统内置诊断功能,可以有效解决大部分系统异常。特别是对于蓝屏错误

weixin_30516429的博客 298

保姆级教程:用ESP32和SPH0645麦克风做个无线录音笔(附Python服务端实时播放)

本文提供了一份详细的ESP32无线录音笔开发指南,涵盖从硬件搭建到Python服务端实时回放的全过程。通过SPH0645麦克风采集高质量音频数据,利用ESP32的I2S接口和WiFi功能实现无线传输,并结合Python服务端实现实时播放和WAV文件保存,适合远程音频监控和创意交互装置开发。

weixin_30700099的博客 641

C++自带string类的常用方法

1 #include&lt;iostream&gt; 2 #include&lt;string&gt; 3 using namespace std; 4 5 int main() 6 { 7 string str1 = "hello"; 8 string* str2 = new string("hello"); 9 string str3...

abc882715的博客 1192

uniapp - 详细解决 H5 网页报错 Uncaught Error: Async component timed out after ? ms.(移动端h5页面白屏或加载缓慢失败,超时报错处理)

uni-app,vue3,网页,h5,移动端,手机H5页面,浏览器,报错,uniapp报错,Asynccomponenttimedoutafter,如何解决这个问题,vue3Asynccomponenttimedoutafter,异步组件超时了怎么办,async,详细解决方案,AsyncComponents异步组件,导致页面打不开了,白屏什么也不显示,网页载入非常慢卡顿,vue3网站报错,超时,nuxt3,详细解决方案,浏览器控制台报错,爆红并且页面卡住了,依旧报错,找不到异步组件的报错

🏆 前端领域优质创作者 3774

string篇

string本质使一个类,类内封装了char *(字符串指针) 构造函数原型: string(); //空字符串 string(const char* s); //通过字符串初始化 string(const string& str); //(构造函数)通过string对象实例化另一个string对象 string(int n,char c); //使用n个字符初始化 赋值重载函数 = assign string& operator=(const...

wa的一声就哭了 1579

【win10】win 10 电脑喇叭音频显示红叉的处理方法

目录 一、报错情况 二、“音频服务未运行”解决方法 三、“未插入扬声器或耳机”解决方法 一、报错情况 (1)当电脑的扬声器喇叭图标上带有红X符号,提示“音频服务未运行”时: (2)小喇叭上面有红叉,显示“未插入扬声器或耳机”时: 二、“音频服务未运行”解决方法 (1)开始菜单搜索“服务”: (2)没有启动的点击“启动”,已启动的点击“重新启动”: (3)继续,右...

顾三殇 —— 博客空间(软件测试) 17万+

2023年高教社杯全国大学生数学建模竞赛 E 题:《黄河水沙监测数据分析》真题解析与 MATLAB 解决方案

🏆 本文已收录于专栏:《滚雪球学数学建模(含历年真题)》,持续更新最新及历年数学建模竞赛资料,每篇内容力求做到“问题讲透、模型讲清、代码可用、论文可参考”,帮助你从零开始逐步建立完整的数学建模知识体系。

**My Coding Family** 903

c/c++字符串笔记(string类)(c++字符串学习)

本文简单介绍一下string最基本的功能 简单说明: <string> std::string line;//声明字符串line line.size();//字符串长度 line.empty();//字符串是否为空 line[];//字符 string line = line1 +line2; 实例展示: #include <string> #include &...

madama的博客 587

2025年新发表的语音大模型全双工模型/框架/技术

参考该论文,给出2025年新发表的全双工模型或框架或技术下面这份清单专挑、且与“全双工语音对话/同步对话(边听边说、可打断、回馈/相槌、重叠语音)”直接相关的。我也结合你提到的的四大维度(暂停处理、相槌、顺滑换手、打断管理)来点出它们各自的贡献点,便于后续评测与对比。

u013250861的博客 629

C++ 基础之string

一、string概述 string是一个字符串的类,它集成的操作函数足以完成大多数情况下的需要。我们甚至可以把它当作C++的基本数据类型。 头文件:#include <string> 注意:string.h和cstring都不是string类的头文件。这两个头文件主要定义C风格字符串操作的一些方法,如strcpy() 、strlen()等。string.h...

小梦_人生如戏的博客 569

PyTorch深度学习实战(36)——Pix2Pix详解与实现

Pix2Pix 是基于生成对抗网络的图像转换框架,能够将输入图像转换为与之对应的输出图像,能够广泛用于图像到图像转换的任务,如风格转换、图像修复、语义标签到图像的转换等。Pix2Pix 的核心思想是通过对抗训练将输入图像和目标输出图像进行配对,使生成网络可以学习到输入图像到输出图像的映射关系。在本节中,将学习使用 Pix2Pix 根据给定轮廓生成图像。

盼小辉丶的博客 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【C++初阶】3.C++ 模板与 string 类详解

代码语言:javascriptAI代码解释代码语言:javascriptAI代码解释// 声明public:// ...// ...// 定义_arr = tmp;甚至可以使用不同的模板参数名:代码语言:javascriptAI代码解释// ...这也可以证明模板实质上是编译器自动生成特定元素类型的类。有了模板,C++ 就可以写一份代码,无伤兼容各种类型,这就诞生了STL:让顺序表、栈、队列等数据结构由编译器帮你生成。C++ 官方文档优点:更新及时缺点:较杂乱。

2509_93923260的博客 406

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

C++PP Chapter XVI String类和标准模板库

1. string 构造函数(常用) a. string(const char *s); 将 string 初始化为同字符串s 用法: string A(s); b. string(size_type n,char c); 创建一个包含n个元素的string对象,每个字符被初始化为c

Warren's Blog 476

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【C++】string类的使用

在前面我们说过,前面的绝大部分内容都是在为了后面真正进入C++这块大门做铺垫,今天我们将正式的步入。

m0_64826370的博客 2263

cpp的string类

本篇将讲述string类中的各种重要和常用函数(string()、begin()、rbegin()、cbegin()、crbegin()、end()、rend()、cend()、crend()、范围for、size()、resize()、capacity()、reserve()、clear()、empty()、append()、push_back()、insert()、erase()、replace()、swap()、find()、rfind()、substr()、compare())。

2401_84018574的博客 979

【C++STL】一文总结String类的常用函数用法总结

📝【C++ STL string类使用指南】 本文系统介绍了C++ STL中string类的核心操作: 1️⃣ 初始化:6种构造方式(空串/拷贝/子串/字符填充等) 2️⃣ 访问方式:下标[]、迭代器(正向/反向)、范围for循环 3️⃣ 容量管理:size()/length()、capacity()、reserve()/resize()区别 4️⃣ 常用操作:插入(push_back/insert)、拼接(append/+)、删除(erase/clear)、替换(replace) 。

tangsl1552的博客 1242

c 语言string类用法,C++中的string类用法简介

本文主要介绍C++中的string类的常见用法。1. 概述string是C++标准库的一个重要的部分,主要用于字符串处理。可以使用输入输出流方式直接进行string操作,也可以通过文件等手段进行string操作。同时,C++的算法库对string类也有着很好的支持,并且string类还和c语言的字符串之间有着良好的接口。2. 常见用法2.1 string转换为char*方法一:使用c_str()...

weixin_35146121的博客 3146

【C++】string类概述

string类概述

qq_66314292的博客 1091

C++中string类用法

string的用法,对于string常用函数,进行解读,了解string的各种函数的用法,只需要去记住常用的一些即可。比如:append、push_back、+=、find、substr、reserve、resize、empty 、clear、c_str、insert、erase等

小王学代码 1246

【八】【C++】STL、string类常见用法

STL(Standard Template Library,标准模板库)是C++标准库的一部分,提供了一系列通用的模板类和函数,这些模板类和函数可以用来实现常见的数据结构和算法。STL使得C++程序员能够更高效地编写代码,同时保持代码的可读性和可重用性。容器是用来管理某一类对象的集合。STL提供了多种类型的容器,每种容器都设计用来管理特定类型的对象集合。STL容器分为序列容器和关联容器两大类:序列容器:维护元素的线性顺序。包括vectorlistdequestring等。

m0_74163972的博客 1363

C++中简单自己实现一个string类

工具VS2017 MyString.h #pragma once #include<iostream> using namespace std; class MyString { friend ostream & operator<<(ostream &os, const MyString& s); friend istream & ...

Dxs4396的博客 4274

C++中的string类用法简介_c++ string

将char*、char[]转换为string类型时,直接进行赋值操作,将char*、char[]的变量赋值给string对象即可。**说明:**这里所说的“赋值”操作,实际上是将char*、char[]定义的字符串的首地址赋值给string对象了。替换字符串中的空格,是一种常见的应用场景,下面通过代码示例介绍使用string类实现字符串中空格替换的方法。使用string类的find方法,在字符串中检索自字符串是否存在。

2501_90222587的博客 820
上一篇: Debian下beryl-manager窗口乱码问题的解决
下一篇: 用U盘制作启动盘来引导linux,修复grub
丰盘ECM产研团队博客
博客等级 码龄20年 123粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值