C++在Linux上如何进行字符串处理
C++在Linux上借助标准库std::string处理字符串,除直接赋值、length()/size()获取长度、下标访问、加号拼接和等号比较外,还支持动态扩展、c_str()转为C风格字符串、find查找、substr截取、insert插入、erase删除等丰富操作,极大简化文本处理。
在Linux上用C++处理字符串,其实是一件相当常见的事。C++标准库里的头文件提供了不少好用的工具,下面就来盘点一下那些最基础、也最常用的操作。

先把头文件请进来:
#include#include 创建一个字符串,直接赋值就行:
std::string str = "Hello, World!";想知道字符串有多长?用
length()或者size()都行:size_t length = str.length(); // 或者 str.size();访问某个字符,跟数组一样,直接用下标:
char ch = str[0]; // 取第一个字符字符串拼接?
+号搞定:std::string str2 = "Goodbye, ";std::string combined = str2 + str; // 结果:"Goodbye, World!"比较两个字符串是否相等,直接上
==:if (str == "Hello, World!") {std::cout << "Strings are equal." << std::endl;}找子串的位置?用
find(),找不到会返回std::string::npos:size_t found = str.find("World");替换子串也不复杂——先找到位置,再替换:
size_t pos = str.find("World");if (pos != std::string::npos) {str.replace(pos, 5, "C++"); // 把"World"替换成"C++"}分割字符串?标准库没有直接提供现成的函数,不过用
std::stringstream配合getline就能轻松搞定:std::string data = "apple,orange,banana";std::stringstream ss(data);std::string item;while (std::getline(ss, item, ',')) {std::cout << item << std::endl;}字符串和数字互转,有现成的函数:
- 字符串转整数:
std::string str_num = "123";int num = std::stoi(str_num); - 整数转字符串:
int num = 456;std::string str_num = std::to_string(num);
- 字符串转整数:
忽略大小写比较?需要一点技巧——用
std::equal加上tolower:std::string str1 = "hello";std::string str2 = "Hello";if (str1 == str2) {// 不会执行,因为严格比较不相等}if (str1.size() == str2.size() && std::equal(str1.begin(), str1.end(), str2.begin(), [](char a, char b) {return std::tolower(a) == std::tolower(b);})) {// 会执行,忽略大小写后相等}
基本操作就是这些。当然,实际项目中可能还会遇到更复杂的需求,比如正则匹配、流式处理等等。但掌握了上面这些,日常的字符串处理基本够用了。最后提醒一句:编译时记得用 g++ 或 clang++,并链接必要的库。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。















