数组和字符串
一维数组
一维数组是相同数据类型元素的集合,可以通过索引访问每个元素。
int numbers[5]; // 声明一个包含5个整数的数组
numbers[0] = 10; // 赋值
std::cout << numbers[0]; // 输出第一个元素
多维数组
多维数组是数组的数组,C++中最常见的是二维数组。
int matrix[3][3]; // 声明一个3x3的整数矩阵
matrix[0][0] = 1; // 赋值
std::cout << matrix[0][0]; // 输出左上角元素
C++标准库中的字符串处理
C++标准库提供了std::string类来处理字符串,它位于头文件中。
声明和初始化
#include <string>std::string str = "Hello"; // 使用字面量初始化
std::string str2(10, 'c'); // 创建一个包含10个'c'字符的字符串
字符串操作
访问字符:使用[]运算符访问字符串中的字符。
长度和大小:使用.size()或.length()获取字符串的长度。
连接字符串:使用+运算符或append()函数连接字符串。
比较字符串:使用==, !=, <, >等运算符比较字符串。
查找和替换:使用find(), rfind(), substr(), replace()等方法。
std::string greeting = "Hello, World!";
std::cout << greeting[0]; // 输出第一个字符 'H'
std::cout << greeting.size(); // 输出字符串长度std::string combined = str + " World"; // 连接字符串
bool isEqual = (str == greeting); // 比较字符串size_t found = greeting.find("World"); // 查找子字符串
if (found != std::string::npos) {std::cout << "Found 'World' at position " << found;
}greeting.replace(7, 5, "there"); // 将"World"替换为"there"
字符串和数组
虽然std::string提供了丰富的功能,但在某些情况下,可能仍然需要使用字符数组,特别是与C语言兼容的API。
char charArray[20];
std::strcpy(charArray, "Hello"); // 将"Hello"复制到字符数组
std::cout << charArray; // 输出字符数组