山东智趣岛论坛

 找回密码
 立即注册
查看: 389|回复: 0
打印 上一主题 下一主题

C++中常用的字符串函数及其功能的表格

[复制链接]
我是一名中学生
6666666

42

主题

49

帖子

2000万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
20000047

最佳新人活跃会员热心会员突出贡献优秀版主论坛元老

跳转到指定楼层
楼主
发表于 2025-2-15 10:23:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自 山东青岛
[color=rgb(var(--ds-rgb-label-1))]
以下是C++中常用的字符串函数及其功能的表格,附带简单的案例说明:
函数名
功能描述
示例代码

length()
返回字符串的长度(字符数)string str = "Hello"; cout << str.length(); // 输出 5
size()
与 length() 功能相同,返回字符串的长度string str = "Hello"; cout << str.size(); // 输出 5
empty()
检查字符串是否为空,返回布尔值string str = ""; cout << str.empty(); // 输出 1 (true)
clear()
清空字符串内容string str = "Hello"; str.clear(); cout << str; // 输出空字符串
append()
在字符串末尾追加字符串或字符string str = "Hello"; str.append(" World"); cout << str; // 输出 "Hello World"
push_back()
在字符串末尾追加一个字符string str = "Hello"; str.push_back('!'); cout << str; // 输出 "Hello!"
insert()
在指定位置插入字符串或字符string str = "Hello"; str.insert(5, " World"); cout << str; // 输出 "Hello World"
erase()
删除字符串中的一部分string str = "Hello World"; str.erase(5, 6); cout << str; // 输出 "Hello"
replace()
替换字符串中的一部分string str = "Hello World"; str.replace(6, 5, "There"); cout << str; // 输出 "Hello There"
substr()
返回字符串的子串string str = "Hello World"; cout << str.substr(6, 5); // 输出 "World"
find()
查找子串或字符在字符串中首次出现的位置,返回索引string str = "Hello World"; cout << str.find("World"); // 输出 6
rfind()
查找子串或字符在字符串中最后一次出现的位置,返回索引string str = "Hello World"; cout << str.rfind('o'); // 输出 7
compare()
比较两个字符串,返回整数结果(0表示相等,负数表示小于,正数表示大于)string str1 = "Hello"; string str2 = "World"; cout << str1.compare(str2); // 输出负数
c_str()
返回一个指向以空字符结尾的字符数组的指针string str = "Hello"; const char* cstr = str.c_str(); cout << cstr; // 输出 "Hello"
at()
返回指定位置的字符,提供边界检查string str = "Hello"; cout << str.at(1); // 输出 'e'
operator[]
返回指定位置的字符,不提供边界检查string str = "Hello"; cout << str[1]; // 输出 'e'
swap()
交换两个字符串的内容string str1 = "Hello"; string str2 = "World"; str1.swap(str2); cout << str1; // 输出 "World"
assign()
将字符串内容替换为指定的字符串或字符string str = "Hello"; str.assign("World"); cout << str; // 输出 "World"
resize()
调整字符串的大小,可以截断或填充字符string str = "Hello"; str.resize(10, '!'); cout << str; // 输出 "Hello!!!!!"
copy()
将字符串的内容复制到字符数组中string str = "Hello"; char buffer[10]; str.copy(buffer, 5); buffer[5] = '\0'; cout << buffer; // 输出 "Hello"
这些函数是C++标准库中std::string类的一部分,提供了丰富的字符串操作功能。

[color=var(--ds-icon-button-text-color)]

[color=var(--ds-icon-button-text-color)]

[color=var(--ds-icon-button-text-color)]

[color=var(--ds-icon-button-text-color)]





C++可变数组常用函数及功能,并带有案例,给我做个表格[color=var(--ds-icon-button-text-color)]

[color=var(--ds-icon-button-text-color)]




[color=rgb(var(--ds-rgb-label-1))]
以下是C++中常用的可变数组(std::vector)函数及其功能的表格,附带简单的案例说明:
函数名
功能描述
示例代码

push_back()
在数组末尾添加一个元素vector<int> vec = {1, 2}; vec.push_back(3); // vec = {1, 2, 3}
pop_back()
删除数组末尾的元素vector<int> vec = {1, 2, 3}; vec.pop_back(); // vec = {1, 2}
size()
返回数组中元素的个数vector<int> vec = {1, 2, 3}; cout << vec.size(); // 输出 3
empty()
检查数组是否为空,返回布尔值vector<int> vec = {}; cout << vec.empty(); // 输出 1 (true)
clear()
清空数组中的所有元素vector<int> vec = {1, 2, 3}; vec.clear(); // vec = {}
insert()
在指定位置插入一个或多个元素vector<int> vec = {1, 3}; vec.insert(vec.begin() + 1, 2); // vec = {1, 2, 3}
erase()
删除指定位置或范围的元素vector<int> vec = {1, 2, 3}; vec.erase(vec.begin() + 1); // vec = {1, 3}
at()
返回指定位置的元素,提供边界检查vector<int> vec = {1, 2, 3}; cout << vec.at(1); // 输出 2
operator[]
返回指定位置的元素,不提供边界检查vector<int> vec = {1, 2, 3}; cout << vec[1]; // 输出 2
front()
返回数组的第一个元素vector<int> vec = {1, 2, 3}; cout << vec.front(); // 输出 1
back()
返回数组的最后一个元素vector<int> vec = {1, 2, 3}; cout << vec.back(); // 输出 3
begin()
返回指向数组第一个元素的迭代器vector<int> vec = {1, 2, 3}; auto it = vec.begin(); cout << *it; // 输出 1
end()
返回指向数组末尾(最后一个元素之后)的迭代器vector<int> vec = {1, 2, 3}; auto it = vec.end(); cout << *(it - 1); // 输出 3
rbegin()
返回指向数组最后一个元素的反向迭代器vector<int> vec = {1, 2, 3}; auto it = vec.rbegin(); cout << *it; // 输出 3
rend()
返回指向数组开头(第一个元素之前)的反向迭代器vector<int> vec = {1, 2, 3}; auto it = vec.rend(); cout << *(it - 1); // 输出 1
resize()
调整数组的大小,可以截断或填充默认值vector<int> vec = {1, 2}; vec.resize(4, 0); // vec = {1, 2, 0, 0}
reserve()
预分配数组的容量,避免频繁重新分配内存vector<int> vec; vec.reserve(10); cout << vec.capacity(); // 输出 10
capacity()
返回数组当前分配的容量大小vector<int> vec; vec.reserve(10); cout << vec.capacity(); // 输出 10
shrink_to_fit()
将数组的容量缩减到与当前元素数量匹配vector<int> vec = {1, 2, 3}; vec.shrink_to_fit(); cout << vec.capacity(); // 输出 3
swap()
交换两个数组的内容vector<int> vec1 = {1, 2}; vector<int> vec2 = {3, 4}; vec1.swap(vec2); // vec1 = {3, 4}, vec2 = {1, 2}
assign()
用指定值替换数组的内容vector<int> vec; vec.assign(3, 10); // vec = {10, 10, 10}
emplace()
在指定位置构造并插入一个元素(避免额外的拷贝或移动操作)vector<int> vec = {1, 3}; vec.emplace(vec.begin() + 1, 2); // vec = {1, 2, 3}
emplace_back()
在数组末尾构造并插入一个元素(避免额外的拷贝或移动操作)vector<int> vec = {1, 2}; vec.emplace_back(3); // vec = {1, 2, 3}示例代码:cpp
[backcolor=rgba(var(--ds-rgba-transparent))]复制




#include <iostream>#include <vector>using namespace std;int main() {    // 创建一个vector并初始化    vector<int> vec = {1, 2, 3};    // 使用push_back添加元素    vec.push_back(4); // vec = {1, 2, 3, 4}    // 使用pop_back删除最后一个元素    vec.pop_back(); // vec = {1, 2, 3}    // 使用insert在指定位置插入元素    vec.insert(vec.begin() + 1, 5); // vec = {1, 5, 2, 3}    // 使用erase删除指定位置的元素    vec.erase(vec.begin() + 2); // vec = {1, 5, 3}    // 使用at访问元素    cout << "Element at index 1: " << vec.at(1) << endl; // 输出 5    // 使用size获取元素数量    cout << "Size of vector: " << vec.size() << endl; // 输出 3    // 使用clear清空vector    vec.clear(); // vec = {}    // 检查是否为空    if (vec.empty()) {        cout << "Vector is empty!" << endl;    }    return 0;}

这些函数是C++标准库中std::vector类的一部分,提供了丰富的动态数组操作功能。



回复

使用道具 举报

QQ|山东智趣岛论坛 ( 鲁ICP备2023024048号 )

GMT+8, 2025-3-1 07:14 , Processed in 0.159566 second(s), 37 queries .

Powered by Discuz! X3.3 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表