C++中字符串处理主要使用std::string和C风格字符数组。std::string提供自动内存管理及length()、append()、substr()、find()、replace()等成员函数,操作安全便捷;C风格字符串以'\0'结尾,需手动调用函数操作,易出错。字符处理常用中的isalpha()、isdigit()、tolower()等函数判断或转换单个字符。C++11起支持std::to_string()将数字转字符串,以及stoi()、stod()、stol()将字符串转数字,错误时抛出异常。掌握这些方法可满足大多数字符串与字符处理需求。

在C++中,字符串和字符的处理是编程中的基本操作。C++提供了丰富的工具来操作字符串和字符,既支持C风格的字符数组,也提供了更安全、更方便的
std::string类。下面介绍常用的字符串和字符处理方法。
1. 字符串类型:std::string 与 C风格字符串
std::string 是C++标准库中定义的字符串类,使用前需包含头文件
。它自动管理内存,支持赋值、拼接、比较等操作,使用更安全便捷。 示例:
std::string str = "Hello";
str += " World"; // 拼接
std::cout
C风格字符串是字符数组,以
'\0'结尾,定义在
中,如
char str[] = "Hello";。操作需手动调用函数如
strlen、
strcpy等,容易出错。
2. 常用字符串操作方法
std::string 提供了多种成员函数进行操作:
立即学习“C++免费学习笔记(深入)”;
10分钟内自己学会PHP其中,第1篇为入门篇,主要包括了解PHP、PHP开发环境搭建、PHP开发基础、PHP流程控制语句、函数、字符串操作、正则表达式、PHP数组、PHP与Web页面交互、日期和时间等内容;第2篇为提高篇,主要包括MySQL数据库设计、PHP操作MySQL数据库、Cookie和Session、图形图像处理技术、文件和目录处理技术、面向对象、PDO数据库抽象层、程序调试与错误处理、A
- length() / size():返回字符串长度
- append() / +=:拼接字符串
- substr(pos, len):提取子字符串
-
find(str):查找子串位置,返回索引或
std::string::npos
- replace(pos, len, str):替换指定位置的子串
- clear():清空内容
- empty():判断是否为空
std::string s = "C++ is powerful";
std::cout
std::cout
size_t pos = s.find("power"); // 返回 10
if (pos != std::string::npos) {
s.replace(pos, 5, "great"); // 替换为 "great"
}
3. 字符处理: 中的函数
处理单个字符时,常用
头文件中的函数。这些函数参数为
int,实际传入
char即可,返回布尔值。
- isalpha(c):是否为字母
- isdigit(c):是否为数字
- isalnum(c):是否为字母或数字
- islower(c):是否为小写
- isupper(c):是否为大写
- tolower(c):转为小写
- toupper(c):转为大写
char ch = 'A';
if (isalpha(ch)) {
ch = tolower(ch); // ch 变为 'a'
}
4. 字符串与数字的转换
C++11起,
提供了方便的转换函数:
- std::to_string(value):将数字转为字符串
- std::stoi(str):字符串转整数
- std::stod(str):字符串转双精度浮点数
- std::stol(str):转长整型
int num = 123;
std::string s = std::to_string(num); // "123"
int n = std::stoi("456"); // 456
若字符串格式错误,这些函数会抛出异常(如
std::invalid_argument),使用时可加异常处理。 基本上就这些。掌握这些基础方法,能应对大多数字符串和字符处理需求。









