当前位置: 首页 > java >正文

三级知识点汇总(详解)【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; // 输出排序后的字符串

http://www.xdnf.cn/news/16183.html

相关文章:

  • Java并发编程第八篇(CountDownLatch组件分析)
  • 基础入门 [CMD] Windows SSH 连接服务器教程(系统自带方式)
  • FreeRTOS—计数型信号量
  • Django基础(八)———数据库外键及表关系
  • Cisco 主模式配置
  • iOS Core Data 本地数据库 使用详解:从模型关系到数据操作
  • Python(09)正则表达式
  • HTTP性能优化实战:从协议到工具的全面加速指南
  • 大语言模型中提示词技术的原理、演进与未来发展研究
  • 基于Qt和OpenCV的图片与视频编辑器
  • 从0到1学习c++ 命名空间
  • Hive常用函数
  • GitHub Actions打包容器,推送 AWS ECR 并使 EKS 自动拉取以完成发版部署
  • [ComfyUI] --ComfyUI 是什么?比 Stable Diffusion WebUI 强在哪?
  • Linux Wlan 无线网络驱动开发-scan协议全流程详解
  • QT开发---字符编码与QString和QByteArray
  • 深度分析Java内存回收机制
  • 基于深度学习的图像分类:使用EfficientNet实现高效分类
  • RocketMQ搭建及测试(Windows环境)
  • 大模型处理私有数据的核心技术
  • 【News】同为科技亮相首届气象经济博览会
  • Django Models详解:数据库模型的核心
  • 第二十七章 W55MH32 Interrupt示例
  • go语言基础教程:【1】基础语法:变量
  • 爬虫基础概念
  • 数学基础弱能学好大数据技术吗?
  • Kubernetes 集群架构和Pod创建流程
  • tcp基础协议
  • 字节的机器人模型 GR-3
  • 高可用架构模式——如何应对接口级的故障