三级知识点汇总(详解)【c++】——7
在C++中,字符串处理是一个非常常见的操作。C++提供了多种字符串操作函数,既包括C语言中的字符数组操作函数,也包括C++标准库中的string类操作函数。以下是一些常用的字符串操作函数及其用法。
字符串定义和长度
在C++中,可以使用string类来定义字符串:
#include <iostream>
#include <string>
using namespace std;int main() {string str; // 定义字符串变量char s1[100]; // 定义字符数组
}
要获取字符串的长度,可以使用size()或length()函数:
string str = "Hello, World!";
cout << str.size() << endl; // 输出字符串长度
cout << str.length() << endl; // 输出字符串长度
这两个函数的返回值相同。
字符串输入
C++提供了多种方式来输入字符串:
string str;
getline(cin, str); // 读入一行字符串,可以包含空格,遇到回车结束char str[100];
cin.getline(str, sizeof(str)); // 需要提前固定好输入的字符串的长度,避免输入的字符超出界限cin >> str; // 读入一连串的字符,遇到空格或换行(回车)结束scanf("%s", &str); // 遇到空格结束(C++中不推荐使用)
字符串操作函数
查找子字符串
使用find()函数可以在字符串中查找指定的子字符串,并返回其第一次出现的位置:
string str = "Hello, World!";
size_t pos = str.find("World"); // 查找子字符串"World"的位置
替换子字符串
使用replace()函数可以替换字符串中的一部分:
str.replace(7, 5, "Universe"); // 替换从下标7开始的5个字符为"Universe"
插入子字符串
使用insert()函数可以在指定位置插入字符串:
str.insert(5, "Beautiful "); // 在下标5处插入字符串"Beautiful "
复制字符串
可以使用两种方法复制字符串:
string str1 = "Hello";
string str2(str1); // 复制str1到str2
str2 = str1; // 复制str1到str2
删除子字符串
使用erase()函数可以删除字符串中的一部分:
string s = "12345678";
s.erase(s.begin() + 3); // 删除下标3的字符
排序字符串
使用sort()函数可以对字符串进行排序:
#include <algorithm>
string s = "12sklhfsabfskfb,a aghs 1425416 27638";
sort(s.begin(), s.end());
cout << s << endl; // 输出排序后的字符串