C++在Linux上如何进行字符串处理
作者:小月亮
时间:2026-07-07
浏览:0
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++,并链接必要的库。
作者最新文章
纯纯写作
2026-09-16 17:42
JMeter入门:创建HTTP请求并验证响应结果
2026-09-02 10:20
文件表格制作教程:选择Word或Excel的判断方法
2026-09-02 09:45
多个PPT怎么一次性转PDF?PPT批量转换工具有哪些?
2026-09-02 06:00
PDF图纸转CAD的3种方法及比例校准指南
2026-09-01 18:36
上一篇:
C++ Linux系统如何进行安全加固
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多


































