当前位置: 首页 > article >正文

C++ string操作指南:从入门到精通

一、为什么要用 string之前学的char[]缺点必须手动处理\0容易乱码不能直接用赋值、拼接长度受限容易越界函数少操作麻烦string 优点是 C 标准类安全方便可以直接、、比较自动管理内存不用管\0内置大量常用函数头文件#include string using namespace std;二、string 定义与初始化// 1. 空字符串 string s1; // 2. 直接初始化 string s2 hello world; // 3. 构造方式 string s3(C string); // 4. 重复 n 个字符 string s4(5, a); // aaaaa三、最常用操作必背1. 赋值 string s; s hello;2. 拼接 string s1 hello; string s2 world; string s3 s1 s2; // hello world3. 访问单个字符像数组一样string s hello; cout s[0]; // h cout s[1]; // e4. 比较 !直接按字典序比较非常方便string s1 apple; string s2 banana; if (s1 s2) { … } // 成立 if (s1 apple) { … }四、string 常用成员函数1. 获取长度int len s.size(); // 常用 int len s.length(); // 一样2. 判断是否为空if (s.empty()) { … }3. 截取子串 substr// 从下标 0 开始取 3 个字符 string sub s.substr(0, 3);4. 查找 find查找失败返回 string::nposint pos s.find(llo); if (pos ! string::npos) { cout 找到了下标 pos; }5. 替换 replace// 从下标 2 开始删除 2 个字符替换成 xx s.replace(2, 2, xx);6. 插入 inserts.insert(1, ); // 下标 1 处插入7. 删除 erases.erase(2, 3); // 从下标 2 删 3 个字符五、输入与输出string s; cin s; // 遇到空格/回车停止 getline(cin, s); // 读取一整行包括空格 cout s endl;注意cin s后如果要用getline需要吸收换行符。六、完整综合示例#include iostream #include string using namespace std; int main() { string s hello c; cout 长度 s.size() endl; cout 子串 s.substr(0, 5) endl; int pos s.find(c); if (pos ! string::npos) { cout c 在下标 pos endl; } s.replace(6, 3, Python); cout 替换后 s endl; system(pause); return 0; }七、string vs char [] 对比面试常问表格特性char[]string内存固定大小手动管理自动扩容赋值 / 拼接不能直接可以直接用结束符必须\0自动处理安全性易越界、乱码更安全功能极少非常丰富一句话C 写字符串优先用 string八、新手易错点忘记#include string用scanf/printf直接读写 string会错find没找到不判断直接用下标下标越界访问混用cin 和getline导致读空行九、今日重点总结string是 C 标准字符串头文件string支持直接赋值、拼接、比较常用函数size() / empty() / substr() / find() / replace() / insert() / erase()读整行用getline(cin, s)比 char 数组更安全、更强大优先使用

相关文章:

C++ string操作指南:从入门到精通

一、为什么要用 string?之前学的 char[] 缺点:必须手动处理 \0,容易乱码不能直接用 赋值、 拼接长度受限,容易越界函数少,操作麻烦string 优点:是 C 标准类,安全方便可以直接 、、 比较自动管理…...

NLP预训练模型:从原理到实战,一篇讲透GPT、BERT与T5

2018年至今的NLP技术演进,一幅完整的发展蓝图一、引言:NLP的技术革命自然语言处理(NLP)领域在过去的近十年里经历了一场深刻的技术革命。如果让我用一句话概括这场革命的核心——那就是“预训练微调”范式的确立与普及。在Transfo…...

LIN总线API实战指南:从核心到传输层的嵌入式开发

1. LIN总线API入门:汽车电子的"对话规则" 第一次接触LIN总线API时,我把它想象成汽车电子模块之间的"方言词典"。就像不同地区的人需要通用语言手册才能顺畅交流,车窗控制器、座椅模块这些汽车电子单元也需要遵循特定规则…...

Visual Studio Live Share完整教程:从安装配置到高级协作技巧

Visual Studio Live Share完整教程:从安装配置到高级协作技巧 【免费下载链接】live-share Real-time collaborative development from the comfort of your favorite tools 项目地址: https://gitcode.com/gh_mirrors/liv/live-share Visual Studio Live Sh…...

从零到一:利用Arcgis Pro 2.5与91卫图助手构建离线地图包(tpk/mmpk)

1. 为什么需要离线地图包? 在移动应用开发或者野外作业场景中,网络条件往往不稳定甚至完全不可用。这时候如果应用依赖在线地图服务,用户体验会大打折扣。我曾经参与过一个林业调查项目,团队在深山老林里经常遇到没信号的情况&…...

G-Helper:华硕笔记本用户如何告别臃肿控制软件,实现极致性能优化?

G-Helper:华硕笔记本用户如何告别臃肿控制软件,实现极致性能优化? 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting acro…...

告别Kibana臃肿!轻量级ES集群管理神器Cerebro保姆级安装教程(CentOS 7.x + Java 8)

轻量级ES集群管理神器Cerebro:CentOS 7.x环境下的高效部署指南 在Elasticsearch运维领域,资源消耗和功能实用性的平衡一直是技术团队面临的挑战。当Kibana的功能过于庞大而实际需求仅聚焦于基础集群管理时,Cerebro这款轻量级工具便成为了理想…...

终极免费时钟应用:Simple Clock如何帮你告别混乱,轻松管理每一天?[特殊字符]

终极免费时钟应用:Simple Clock如何帮你告别混乱,轻松管理每一天?🚀 【免费下载链接】Simple-Clock Combination of a beautiful clock with widget, alarm, stopwatch & timer, no ads 项目地址: https://gitcode.com/gh_m…...

YOLACT++模型训练后,如何用你的‘小模型’在真实场景中跑起来?从测试到部署的完整流程

YOLACT模型实战:从训练到部署的工业级落地指南 当你完成YOLACT模型训练后,那个躺在output文件夹里的.pth文件就像刚拿到驾照的新手——理论上已经具备上路资格,但距离成为老司机还有段距离。本文将带你跨越从训练完成到实际部署的最后一公里&…...

ClearerVoice-Studio:AI语音处理技术深度解析与实战指南

ClearerVoice-Studio:AI语音处理技术深度解析与实战指南 【免费下载链接】ClearerVoice-Studio An AI-Powered Speech Processing Toolkit and Open Source SOTA Pretrained Models, Supporting Speech Enhancement, Separation, and Target Speaker Extraction, et…...

Python 条件,循环语句详解

1、Python 条件语句Python 条件语句是通过一条或多条语句的执行结果来决定执行的代码块。Python 编程中 if 语句用于控制程序的执行。Python 不支持使用 switch 语句,所以当有多个条件判断时,只能使用 elif 来进行编程。if 语句的基本形式为:123456if (条…...

Ubuntu Rockchip完整指南:为RK3588设备快速构建定制化Ubuntu系统

Ubuntu Rockchip完整指南:为RK3588设备快速构建定制化Ubuntu系统 【免费下载链接】ubuntu-rockchip Ubuntu for Rockchip RK35XX Devices 项目地址: https://gitcode.com/gh_mirrors/ub/ubuntu-rockchip Ubuntu Rockchip是一个社区驱动的开源项目&#xff0c…...

京东购物评价自动化终极指南:告别繁琐评价,释放你的宝贵时间

京东购物评价自动化终极指南:告别繁琐评价,释放你的宝贵时间 【免费下载链接】jd_AutoComment 自动评价,仅供交流学习之用 项目地址: https://gitcode.com/gh_mirrors/jd/jd_AutoComment 还在为京东购物后堆积如山的评价任务而烦恼吗?…...

如何快速掌握SAM-HQ:从源码编译到自定义模块扩展的完整指南

如何快速掌握SAM-HQ:从源码编译到自定义模块扩展的完整指南 【免费下载链接】sam-hq Segment Anything in High Quality [NeurIPS 2023] 项目地址: https://gitcode.com/gh_mirrors/sa/sam-hq SAM-HQ(Segment Anything in High Quality&#xff0…...

Python 循环函数详细介绍

一、循环函数1、for循环for循环需要预先设定好循环的次数(n),然后执行隶属于for的语句n次。基本构造是12for 元素 in 序列: statement举例来说,我们编辑一个叫forDemo.py的文件12for a in [3,4.4,life]:print a这个循环就是每次从表[3,4.4,life] 中取出一…...

UnityStandaloneFileBrowser跨平台实战:Windows、Mac、Linux三平台兼容性深度解析

UnityStandaloneFileBrowser跨平台实战:Windows、Mac、Linux三平台兼容性深度解析 【免费下载链接】UnityStandaloneFileBrowser A native file browser for unity standalone platforms 项目地址: https://gitcode.com/gh_mirrors/un/UnityStandaloneFileBrowser…...

抖音无水印下载器技术解析:从单点突破到批量处理的全栈解决方案

抖音无水印下载器技术解析:从单点突破到批量处理的全栈解决方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallb…...

5步掌握FanControl:Windows智能风扇控制终极指南

5步掌握FanControl:Windows智能风扇控制终极指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/FanC…...

Ryan Bates Dotfiles Zsh 插件系统深度解析

Ryan Bates Dotfiles Zsh 插件系统深度解析 【免费下载链接】dotfiles config files for zsh, bash, completions, gem, git, irb, rails 项目地址: https://gitcode.com/gh_mirrors/dotfiles4/dotfiles Ryan Bates 的 Dotfiles 项目为 Zsh 用户提供了一套功能丰富且高度…...

你的 Vue 路由,VuReact 会编译成什么样的 React 路由?

VuReact 是一个能将 Vue 3 代码编译为标准、可维护 React 代码的工具。今天我们从 Vue Router 宏观对照入手,看看 Vue 中的路由组件、API 与入口结构,经过 VuReact 编译后会变成什么样的 React 路由代码。 另外,本文仅展示部分路由组件与 AP…...

你的ESP32项目需要BGM?手把手教你用无源蜂鸣器做个迷你音乐盒(附《成都》《后来》等流行歌曲库)

用ESP32和无源蜂鸣器打造你的专属音乐盒:从《成都》到《后来》的完整实现指南 你是否想过给自己的智能家居项目添加一点音乐氛围?或者为机器人制作一个会唱歌的小彩蛋?ESP32开发板搭配无源蜂鸣器,就能实现这个有趣的想法。不同于简…...

华硕笔记本性能优化终极秘籍:G-Helper让你的电脑重获新生

华硕笔记本性能优化终极秘籍:G-Helper让你的电脑重获新生 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix,…...

AssetRipper终极指南:如何轻松提取Unity游戏资源的完整教程

AssetRipper终极指南:如何轻松提取Unity游戏资源的完整教程 【免费下载链接】AssetRipper GUI Application to work with engine assets, asset bundles, and serialized files 项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipper 还在为无法获取…...

全球首份AGI跨国治理白皮书深度拆解(2026奇点大会闭门纪要首次公开)

第一章:全球首份AGI跨国治理白皮书的战略定位与历史坐标 2026奇点智能技术大会(https://ml-summit.org) 这份白皮书并非技术路线图的延伸,而是人类在通用人工智能临界点前主动构筑的第一道制度性防火墙。它诞生于2025年联合国人工智能治理特别会议框架…...

告别轮询!用ESP32的UART事件驱动开发,实现一个简易的AT指令解析器

ESP32事件驱动UART开发实战:构建高效AT指令解析框架 在物联网设备开发中,串口通信是最基础也最关键的交互方式之一。传统轮询方式虽然简单直接,但在处理多任务、高实时性要求的场景下显得力不从心。本文将带你用ESP32的UART事件驱动机制&…...

终极华硕笔记本性能控制指南:GHelper让你的ROG笔记本飞起来

终极华硕笔记本性能控制指南:GHelper让你的ROG笔记本飞起来 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Stri…...

MaaYuan:如何让游戏日常任务变得智能且高效?

MaaYuan:如何让游戏日常任务变得智能且高效? 【免费下载链接】MaaYuan 代号鸢 / 如鸢 一键长草小助手 项目地址: https://gitcode.com/gh_mirrors/ma/MaaYuan 在现代手游生态中,日常任务系统已成为玩家体验的重要组成部分,…...

如何5分钟上手VOICEVOX:免费日语语音合成终极指南

如何5分钟上手VOICEVOX:免费日语语音合成终极指南 【免费下载链接】voicevox 無料で使える中品質なテキスト読み上げソフトウェア、VOICEVOXのエディター 项目地址: https://gitcode.com/gh_mirrors/vo/voicevox VOICEVOX是一款完全免费开源的日语语音合成软…...

终极指南:如何用ShowDoc彻底改变团队文档协作

终极指南:如何用ShowDoc彻底改变团队文档协作 【免费下载链接】showdoc ShowDoc is a tool greatly applicable for an IT team to share documents online一个非常适合IT团队的在线API文档、技术文档工具 项目地址: https://gitcode.com/gh_mirrors/sh/showdoc …...

【机器人探索】基于matlab多目标灰狼算法多机器人探索【含Matlab源码 15347期】

💥💥💥💥💥💥💞💞💞💞💞💞💞💞欢迎来到海神之光博客之家💞💞💞&#x1f49…...