C++ String 详解

C++ 中的 string 类型是一个强大而灵活的字符串处理工具,为初学者提供了许多方便的方法来操作文本数据。

1. 引入头文件

在使用 string 之前,首先需要引入头文件 <string>

cpp 复制代码
#include <string> using namespace std;

2. 基本声明与初始化

可以使用以下方式声明和初始化 string 变量:

cpp 复制代码
string str1; // 声明一个空字符串 
string str2 = "Hello"; // 使用字符串字面值初始化 
string str3("C++ String"); // 使用构造函数初始化 
string str4(5, 'A'); // 使用重复字符初始化,得到 "AAAAA"

3. 字符串操作

3.1 连接字符串

使用 + 运算符append 方法可以将两个字符串连接起来:

cpp 复制代码
string result = str2 + " World"; // 得到 "Hello World" 
str1.append("Welcome");// 将 "Welcome" 添加到 str1 的末尾

3.2 获取字符串长度

使用 **length()size()**方法获取字符串的长度:

cpp 复制代码
int length = str3.length(); // 或者使用 str3.size();

3.3 访问单个字符

可以使用下标运算符 [] 访问单个字符,索引从 0 开始:

cpp 复制代码
char firstChar = str3[0]; // 获取第一个字符

3.4 子字符串提取

使用 substr 方法提取子字符串:

cpp 复制代码
string sub = str3.substr(3, 5); // 从位置 3 开始提取长度为 5 的子字符串

3.5 查找子串

使用 **find**方法查找子串的位置:

cpp 复制代码
size_t pos = str3.find("String"); // 查找 "String" 在 str3 中的位置

4. 字符串比较

使用比较运算符(==、!=、<、>、<=、>=)来比较字符串:

cpp 复制代码
if (str2 == "Hello") { // 字符串相等 }

5. 输入输出

可以使用**cin** 和 cout 对字符串进行输入和输出:

cpp 复制代码
cout << "Enter a string: "; 
cin >> str1; // 从用户输入读取字符串 
cout << "You entered: " << str1 << endl;
相关推荐
我变成萤火虫3 小时前
河南萌新联赛2026第(四)场:南阳理工学院
数据结构·c++·算法·贪心算法·stl·动态规划
余额瞒着我当琳7 小时前
C++--深拷贝三件套 + swap + 写时拷贝 + vector 扩容 + reserve
java·开发语言·c++
ShineWinsu8 小时前
对于C++:布隆过滤器(bloomfilter)的详细解析
c++·面试·位图·位运算·布隆过滤器·海量数据·比特位
牛油果子哥q12 小时前
C++内存模型与深浅拷贝万字详解:栈堆静态内存布局、深浅拷贝底层差异、内存泄漏根治、拷贝崩溃踩坑、手写深拷贝实战
java·开发语言·c++
大鹏的NLP博客12 小时前
通用 Linux 嵌入式板端 C/C++ ABI 与 Glibc 依赖治理规范
linux·c++·交叉编译
ysa05103013 小时前
c++常用自带函数用法与注意
c++·笔记·算法
qq_1508419915 小时前
从CVI(C)到Pyside(python)/Qt(C++)/VS(C#)的一点吐槽
c++·qt·c#
鸿芯微控科技17 小时前
MFC模拟量信号异常怎么排查?0-5V、4-20mA接线与量程换算
c++·5g·mfc·故障排查·质量流量控制器·4-20ma·模拟量信号
三十岁老牛再出发17 小时前
08.18每日总结
c++·python·numpy·pandas
余额瞒着我当琳18 小时前
C++--vector底层,leetcode118杨辉三角实战,对于传统reserve的坑点,迭代器失效
开发语言·c++