发布时间:2026/6/20 2:58:14
C++超详细讲解字符串类
一、历史遗留问题C 语言不支持真正意义上的字符串C 语言用字符数组和一组函数实现字符串操作C 语言不支持自定义类型因此无法获得字符串类型二、解决方案从 C 到 C 的进化过程引入了自定义类型在 C 中可以通过类完成字符串类型的定义三、标准库中的字符串类C 语言直接支持 C 语言的所有概念C 语言中没有原生的字符串类型C 标准库提供了 string 类型string 直接支持字符串连接string 直接支持字符串的大小比较string 直接支持子串查找和提取string 直接支持字符串的插入和替换下面看一个字符串类的使用代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546#include iostream#include stringusingnamespacestd;voidstring_sort(string a[],intlen){for(inti 0; i len; i){for(intj i; j len; j){if(a[i] a[j]){swap(a[i], a[j]);}}}}string string_add(string a[],intlen){string ret ;for(inti 0; i len; i){ret a[i] ;;}returnret;}intmain(){string sa[7] {Hello World,AutumnZe,C#,Java,C,Python,TypeScript};string_sort(sa, 7);for(inti 0; i 7; i){cout sa[i] endl;}cout endl;cout string_add(sa, 7) endl;return0;}输出结果如下排序基于字典顺序进行。字符串类进行了大量的操作符重载所以 a[i] a[j] 以及ret a[i] ;; 都是可以的。字符串与数字的转换标准库中提供了相关的类对字符串和数字进行转换字符串流类 ( sstream ) 用于 string 的转换sstream -- 相关头文件istringstream -- 字符串输入流ostringstream -- 字符串输出流使用方法string -- 数字123istringstream iss(123.45);doublenum;iss num;数字 -- string123ostringstream oss;oss 543.21;string s oss.str();下面看一个字符串和数字转换的示例1234567891011121314151617#include iostream#include sstream#include stringusingnamespacestd;#define TO_NUMBER(s, n) (istringstream(s) n)#define TO_STRING(n) (((ostringstream)(ostringstream() n)).str())intmain(){doublen 0;if(TO_NUMBER(234.567, n)){cout n endl;}string s TO_STRING(12345);cout s endl;return0;}输出结果如下C 中还可以通过模板技术进行字符串和数字转换这里先用宏来实现。四、字符串循环右移示例 abcdefg 循环右移 3 位后得到 efgabcd1234567891011121314151617181920#include iostream#include stringusingnamespacestd;string operator (conststring s, unsignedintn){string ret ;unsignedintpos 0;n n % s.length();pos s.length() - n;ret s.substr(pos);ret s.substr(0, pos);returnret;}intmain(){string s abcdefg;string r (s 8);cout r endl;return0;}输出结果如下分析过程如下abcdefg 8 等价于 abcdefg 1 因为 8 % 7 17 - 1 6所以把 g 提出来ret g然后 ret g abcdef就是最终结果 gabcdef五、小结应用开发中大多数的情况都在进行字符串处理C 中没有直接支持原生的字符串类型标准库中通过 string 类支持字符串的概念string 类支持字符串和数字的相互转换string 类的应用使得问题的求解变得简单

相关新闻

购买大批量 Facebook 账号 vs. 自行养号:计算投资回报率 (ROI) 与隐藏风险
2026/6/16 17:36:48

购买大批量 Facebook 账号 vs. 自行养号:计算投资回报率 (ROI) 与隐藏风险

信息流投放领域常被简化为一个简单的抉择:你是为"速度"付费,还是为"掌控力"付费?在 Facebook 广告的高压环境下,这种纠结体现为:是购买大批量账号,还是建立内部的"养号"体系…

阅读更多
别再只看PSNR了!手把手教你用PyTorch复现SRGAN,让AI生成更‘真实’的4倍超分图像
2026/6/14 16:37:31

别再只看PSNR了!手把手教你用PyTorch复现SRGAN,让AI生成更‘真实’的4倍超分图像

超越PSNR陷阱:用PyTorch实现SRGAN打造人眼级超分辨率图像当你在PyTorch中训练出一个PSNR高达32dB的超分辨率模型,却发现生成的图像依然模糊不清时,是否感到困惑?这恰恰揭示了计算机视觉领域长期存在的评估悖论——我们优化了错误的…

阅读更多
CBCX怎么样?围绕账户流程与服务响应展开评测
2026/6/13 15:22:47

CBCX怎么样?围绕账户流程与服务响应展开评测

面对专业性较强的外汇服务领域,评估平台不能只看短期声量,也要回到流程、提示和服务细节。外汇服务行业进入更重视规范表达和用户保护的阶段后,平台评测也需要从多个细节展开。CBCX受到关注的原因,不只在于品牌露出,更…

阅读更多
深度探索nunif iw3:如何将2D视频转换为沉浸式VR 3D体验的技术揭秘
2026/6/20 1:59:03

深度探索nunif iw3:如何将2D视频转换为沉浸式VR 3D体验的技术揭秘

深度探索nunif iw3:如何将2D视频转换为沉浸式VR 3D体验的技术揭秘 【免费下载链接】nunif Misc; latest version of waifu2x; 2D video to stereo 3D video conversion 项目地址: https://gitcode.com/gh_mirrors/nu/nunif nunif iw3是一款基于深度学习的开源…

阅读更多
Keepass2Android子数据库配置:构建模块化密码保险柜网络
2026/6/20 1:59:03

Keepass2Android子数据库配置:构建模块化密码保险柜网络

1. 项目概述:为什么需要多层级密码管理?如果你和我一样,手头管理着几十甚至上百个账号,从工作邮箱、银行账户到各种社交媒体、订阅服务,那你一定对“密码管理”这件事又爱又恨。爱的是,一个靠谱的密码管理器…

阅读更多
小米手表表盘设计终极指南:免费工具Mi-Create从入门到精通
2026/6/20 1:59:03

小米手表表盘设计终极指南:免费工具Mi-Create从入门到精通

小米手表表盘设计终极指南:免费工具Mi-Create从入门到精通 【免费下载链接】Mi-Create Unofficial watchface creator for Xiaomi wearables ~2021 and above 项目地址: https://gitcode.com/gh_mirrors/mi/Mi-Create 还在为小米手表找不到心仪表盘而烦恼吗&…

阅读更多
GKCM RF:基于随机森林的核方法条件独立性测试
2026/6/20 1:59:03

GKCM RF:基于随机森林的核方法条件独立性测试

1. 广义核协方差测量(GKCM)方法概述条件独立性测试是统计建模和因果推断中的基础性工具,它用于判断两个变量X和Y在给定变量Z的条件下是否独立。传统方法在处理非线性关系时面临挑战,而基于核方法的条件独立性测试通过将数据映射到高维特征空间来解决这一…

阅读更多
WeChatFerry微信自动化框架终极指南:打造智能对话机器人的完整教程
2026/6/20 1:59:03

WeChatFerry微信自动化框架终极指南:打造智能对话机器人的完整教程

WeChatFerry微信自动化框架终极指南:打造智能对话机器人的完整教程 【免费下载链接】WeChatFerry 微信机器人,可接入DeepSeek、Gemini、ChatGPT、ChatGLM、讯飞星火、Tigerbot等大模型。微信 hook WeChat Robot Hook. 项目地址: https://gitcode.com/G…

阅读更多
SpringBoot集成个推V2与Uni-Push 1.0:构建高效统一推送服务的实践指南
2026/6/20 0:59:03

SpringBoot集成个推V2与Uni-Push 1.0:构建高效统一推送服务的实践指南

1. 为什么需要统一推送服务? 移动应用开发中,消息推送是提升用户活跃度和留存率的重要手段。但不同手机厂商的推送机制差异很大,开发者需要针对每个平台单独适配,工作量巨大。比如华为手机需要使用华为推送,小米手机需…

阅读更多
别再只用BERT了!用Transformers库的AutoModel,5分钟搞定文本相似度计算(附代码对比)
2026/6/17 23:21:18

别再只用BERT了!用Transformers库的AutoModel,5分钟搞定文本相似度计算(附代码对比)

超越BERT:用Transformers库高效实现文本相似度计算的三种实战方案在自然语言处理领域,文本相似度计算是信息检索、问答系统和推荐系统等应用的核心技术。传统方法如TF-IDF或Word2Vec已逐渐被基于Transformer的预训练模型所取代。Hugging Face的Transform…

阅读更多
Prompt Engineering:重构人机协作的工程化方法论
2026/6/18 4:35:02

Prompt Engineering:重构人机协作的工程化方法论

1. 项目概述:这不是“写提示词”,而是重构人机协作的底层逻辑“Prompt Engineering”这个词,这两年被讲得太多,也太轻飘。很多人把它理解成“给AI发指令的技巧”,甚至简化为“多加几个形容词”“换种说法再试一次”。我…

阅读更多
Anthropic提示层归零:模型即协议的工程实践
2026/6/18 15:04:04

Anthropic提示层归零:模型即协议的工程实践

1. 项目概述:这不是一次普通更新,而是一次架构级“蒸发”“Anthropic Just Shipped the Layer That’s Already Going to Zero”——这个标题一出来,我正在调试一个Claude调用链的终端前停了三秒。不是因为震惊,而是因为熟悉&…

阅读更多
洛雪音乐终极音源指南:一站式获取全网无损音乐的完整解决方案
2026/6/20 0:59:03

洛雪音乐终极音源指南:一站式获取全网无损音乐的完整解决方案

洛雪音乐终极音源指南:一站式获取全网无损音乐的完整解决方案 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 你是否厌倦了在不同音乐平台之间来回切换,只为找到一首歌的无…

阅读更多
Display Driver Uninstaller深度清理方案:显卡驱动残留问题的终极解决方案(2024版)
2026/6/20 0:59:03

Display Driver Uninstaller深度清理方案:显卡驱动残留问题的终极解决方案(2024版)

Display Driver Uninstaller深度清理方案:显卡驱动残留问题的终极解决方案(2024版) 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitco…

阅读更多
深入解析MC68HC908AS32A的SCI模块:从异步通信原理到寄存器实战配置
2026/6/20 0:59:03

深入解析MC68HC908AS32A的SCI模块:从异步通信原理到寄存器实战配置

1. 项目概述:深入MC68HC908AS32A的异步串行通信核心在嵌入式系统开发中,尤其是面对工业控制、车载电子或智能仪表这类需要设备间稳定对话的场景,串行通信接口(SCI)往往是工程师最可靠的老朋友。它不像并行总线那样需要…

阅读更多
GIT修改用户名
2026/6/17 19:45:33

GIT修改用户名

在GIT中修改用户名可按以下步骤操作: 查看当前git的用户名,使用命令git config --list或git config user.name。修改git用户名,使用命令git config --global user.name "xxx(新的用户名)",将其中…

阅读更多
Win11Debloat:让你的Windows系统重获新生的终极优化工具
2026/6/19 20:40:12

Win11Debloat:让你的Windows系统重获新生的终极优化工具

Win11Debloat:让你的Windows系统重获新生的终极优化工具 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and …

阅读更多
技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践
2026/6/18 15:23:49

技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践

技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter m4s-converter是一个…

阅读更多