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

string(一)

一、了解string

可以看成是字符顺序表。

二、string遍历方式

1、下标+[ ]

重载了[]

for(int i = 0; i < s.size(); i++)
{cout << s[i];
}

2、迭代器

auto it = s.begin();
while(it != s.end())
{cout << *it;it++;
}

3、范围for

for(auto ch : s)
{cout << ch;
}

4、反向迭代器

auto it = s.rbegin();
while(it != s.rend())
{cout << *it;it++;
}

5、const迭代器

迭代器是通用的遍历,虽然没有[]方便,但是不是所有容器都用[]遍历,而且迭代器的初衷就是能像指针一样访问对象。

三、string常见接口

1、操作空间

reserve

开出 n 大小的 string

只有当 n > _capacity 时才起作用,所以 reserve 只能扩容,不能缩容。

resize

调整 string 大小为 n,默认填充字符 \0

当 n < _size 时,string 删除字符直到大小为 n

当 _size < n < _capacity 时,string 插入n - _size 个 c

当 n > _capacity 时,string 扩容

2、修改

尾插

增删

3、查找

一个从头找,一个从尾找

4、其他

c_str

在库里面 string 其实是有 \0 结尾的,就是为了 c_str() 返回一个 const 字符串。因为 c 语言规则是字符串以 \0 结尾。

substr

从 pos 位置提取 len 个长度的字符串。

getline

cin 和 scanf 都是以空格和换行符作为输入结束的标志,但是当我们想获取一个中间带有空格的字符串就要用 getline 了。

四、C语言字符串常见接口

1、strcpy

拷贝字符串到指定位置,注意直接拷贝到原字符串的 \0 结束。

2、strncpy

拷贝原字符串的 num 个字符到指定位置

3、strstr

返回 str1 中第一次出现 str2 的指针位置。

4、strcmp

当 str1 第一次与 str2 相同位置的字符不同时,str1 的字符大就返回 >0,否则就 <0

如果相同就返回0

5、memcpy

拷贝原字符串 num 大小到指定位置。

相关文章:

string(一)

一、了解string 可以看成是字符顺序表。 二、string遍历方式 1、下标[ ] 重载了[] for(int i 0; i < s.size(); i) {cout << s[i]; } 2、迭代器 auto it s.begin(); while(it ! s.end()) {cout << *it;it; } 3、范围for for(auto ch : s) {cout <&l…...

计算机网络 (41)文件传送协议

前言 一、文件传送协议&#xff08;FTP&#xff09; 概述&#xff1a; FTP&#xff08;File Transfer Protocol&#xff09;是互联网上使用得最广泛的文件传送协议。FTP提供交互式的访问&#xff0c;允许客户指明文件的类型与格式&#xff08;如指明是否使用ASCII码&#xff0…...

C++ STL之容器介绍(vector、list、set、map)

1 STL基本概念 C有两大思想&#xff0c;面向对象和泛型编程。泛型编程指编写代码时不必指定具体的数据类型&#xff0c;而是使用模板来代替实际类型&#xff0c;这样编写的函数或类可以在之后应用于各种数据类型。而STL就是C泛型编程的一个杰出例子。STL&#xff08;Standard …...

redisson 连接 redis5报错 ERR wrong number of arguments for ‘auth‘ command

依赖版本 org.redisson:redisson-spring-boot-starter:3.25.2 现象 启动报错 org.redisson.client.RedisException: ERR wrong number of arguments for ‘auth’ command. channel: [xxx] command: (AUTH), params: (password masked) 原因 redis6以下版本认证参数不包含用…...

LeetCode:131. 分割回文串

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode:131. 分割回文串 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是回文串。返回 s 所…...

React-useState讲解

useState 让页面“动”起来 例如实现一个 click 计数功能&#xff0c;普通变量无法实现。即&#xff1a;修改普通变量无法触发组件的更新 rerender 通过 useState 即可实现。 state 是什么 State, A component’s memory —— 这个比喻非常好&#xff01; props 父组件传…...

混币器是什么,波卡跨链交易平台

混币器是什么 混币器是一种加密货币工具,主要功能是将用户的加密货币与其他众多用户的加密货币混合在一起,打乱资金的流向和交易痕迹,使得加密货币的来源和去向难以追踪,从而增加交易的匿名性和隐私性。以下是对其工作流程和相关举例的介绍: 工作流程 用户首先将自己的加…...

【PHP】双方接口通信校验服务

请求方 使用 ApiAuthService::buildUrl($domain, [terminal > 1, ts > time()]); //http://域名/adminapi/login/platformLogin?signF7FE8A150DEC18BE8A71C5059742C81A&terminal1&ts1736904841接收方 $getParams $this->request->get();$validate ApiA…...

Web第一次作业

目录 题目 html代码 index login register css代码 base index login register 效果展示 index login register 题目 实现一个登录页面、实现一个注册页面&#xff1b;实现一个主页 - 登录页面&#xff1a;login.html - 注册页面&#xff1a;register.html - 主页…...

CentOS 6.8 安装 Nginx

个人博客地址&#xff1a;CentOS 6.8 安装 Nginx | 一张假钞的真实世界 提前安装&#xff1a; # sudo yum install yum-utils 一般情况下这个工具系统已经安装。 创建文件/etc/yum.repos.d/nginx.repo&#xff0c;输入内容如下&#xff1a; [nginx-stable] namenginx stab…...

网络网络层ICMP协议

网络网络层ICMP协议 1. ICMP 协议介绍 ICMP&#xff08;Internet Control Message Protocol&#xff09;是 TCP/IP 协议簇中的网络层控制报文协议。用于在 IP 主机、路由器之间传递控制消息&#xff0c;提供可能有关通信问题的反馈信息。 以及用于网络诊断或调试&#xff08;…...

当父级元素设置了flex 布局 ,两个子元素都设置了flex :1, 但是当子元素放不下的时候会溢出父元素怎么解决 (css 样式问题)

一、问题 遇到个样式问题&#xff0c;当父级元素设置了flex 布局 &#xff0c;两个子元素都设置了flex :1, 但是当子元素放不下的时候会溢出父元素怎么解决 &#xff08;拖拽浏览器 使页面变小&#xff09; 二、解决方法 .father{min-height: 600px;width: 100%;display: flex…...

Vue.js组件开发-如何实现路由懒加载

在Vue.js应用中&#xff0c;路由懒加载是一种优化性能的技术&#xff0c;它允许在需要时才加载特定的路由组件&#xff0c;而不是在应用启动时加载所有组件。这样可以显著减少初始加载时间&#xff0c;提高用户体验。在Vue Router中&#xff0c;实现路由懒加载非常简单&#xf…...

灵活妙想学数学

灵活妙想学数学 题1&#xff1a;海星有几只&#xff1f; 一共有12只海洋生物&#xff0c;分别是5只脚的海星&#xff0c;8只脚的章鱼和10只脚的鱿鱼&#xff0c;这些海洋动物的脚一共有87只&#xff0c;每种生物至少有1只&#xff0c;问海星有几只&#xff1f; 解&#xff1a…...

使用 Multer 上传图片到阿里云 OSS的两种方式

文件上传到哪里更好&#xff1f; 上传到服务器本地 上传到服务器本地&#xff0c;这种方法在现今商业项目中&#xff0c;几乎已经见不到了。因为服务器带宽&#xff0c;磁盘 IO 都是非常有限的。将文件上传和读取放在自己服务器上&#xff0c;并不是明智的选择。 上传到云储存…...

破解合同管理之痛,开启智能化管理新模式

合同管理是采购管理中的一项重要环节&#xff0c;涉及合同洽谈、草拟、签订、生效、履行、失效全过程。随着企业业务规模的发展壮大&#xff0c;企业与各类供应商之间的合作往来更加频繁&#xff0c;需要签署和管理的合同文件也不断增多&#xff0c;如何提升合同管理效率成为企…...

Linux-day06

第14章 进程管理&#xff08;重点&#xff09; 进程基本介绍 程序运行起来就是一个进程 1.程序和进程的关系 2.在Linux中有两种方式执行&#xff0c;一种叫前台&#xff0c;一种后台 ps指令详解 显示系统执行的进程 USER&#xff1a;进程执行用户 PID&#xff1a;进程号 …...

源码编译安装httpd 2.4,提供系统服务管理脚本并测试

总结需要安装的包 sudo yum groupinstall "Development Tools" -y #httpd的依赖包yum install tar -y #tar压缩包sudo yum install apr-devel apr-util-devel #APR库 提供跨平台接口的库sudo yum install pcre pcre-devel # PCRE库和 pcre-config工具--提供PCRE库…...

Linux固定ip

进入etc/sysconfig/network-scripts目录 cd /etc/sysconfig/network-scripts 编辑ifcfg-ens33文件 vi ifcfg-ens33 将BOOTPROTO的值改为“static”&#xff0c;在文档最后添加需要的固定IP BOOTPROTO"static" IPADDR192.168.132.136点击按键“esc”&#xff0c;…...

Java 输入输出流(上)

目录 1.Java 输入输出流 2.Java File类 3.Java File类目录 1.创建目录 2.列出目录中的文件 4.Java File类文件 1.文件的创建与删除 2.运行可执行文件 5.Java 文件字节输入流(1) 6.Java 文件字节输入流(2) 1.使用输入流读取字节 2.关闭流 7.Java 文件字节输出流(1…...

AI Token Platform - AI Token 中转计费平台

AI Token Platform - AI Token 中转计费平台 AI Token Platform 是一款企业级 AI Token 中转与计费平台&#xff0c;深度融合 多模型 AI 网关、Kill Bill 计费引擎 与 企业级会员管理 三大核心能力。平台以"统一 API 接入 灵活计费策略 企业级会员体系"为核心理念…...

聚点智行:WorkBuddy 辅助开发 AI 地图智能应用实战

一、从痛点到创意&#xff1a;一个真实场景的启发 作为一名经常组织朋友聚会的"社交达人"&#xff0c;我遇到了一个看似简单却让人头疼的问题&#xff1a;每次约饭&#xff0c;大家都在问"在哪见&#xff1f;" 张三住在回龙观&#xff0c;李四在东直门&…...

YOLOv5+Swin-Tiny实战:在自定义数据集上提升小目标检测精度的完整流程

YOLOv5与Swin-Tiny融合实战&#xff1a;工业级小目标检测优化指南 在无人机巡检、遥感监测和工业质检等场景中&#xff0c;小目标检测一直是计算机视觉领域的棘手挑战。传统卷积神经网络(CNN)在处理这类任务时&#xff0c;往往难以兼顾感受野与计算效率的平衡。本文将带您探索如…...

2025届必备的六大AI辅助写作神器解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 处于人工智能技术基础之上的智能辅助系统&#xff0c;是可给学术研究者送去高效、规范的开题…...

Kivy中文显示乱码?3步搞定字体配置(附免费字体下载)

Kivy中文显示乱码&#xff1f;3步搞定字体配置&#xff08;附免费字体下载&#xff09; 当你在Kivy应用中看到中文变成一堆问号或方框时&#xff0c;别急着怀疑人生——这通常是字体配置的小问题。作为Python生态中最受欢迎的跨平台GUI框架之一&#xff0c;Kivy默认使用Roboto字…...

LangChain、LangFlow、LangGraph:一文讲清三大 LLM 框架的定位与差异

01 | LangChain&#xff1a;LLM 应用的“基础设施层”① LangChain 是什么&#xff1f;LangChain 是一个用于构建 LLM 应用的通用框架&#xff0c;核心目标只有一句话&#xff1a;把「大模型 外部工具 数据源 Prompt」系统化地组织起来。它并不是一个“产品”&#xff0c;而…...

Splunk Enterprise 9.4.10 (macOS, Linux, Windows) - 机器数据管理和分析

Splunk Enterprise 9.4.10 (macOS, Linux, Windows) - 机器数据管理和分析 安全信息和事件管理 (SIEM)、全面的日志管理和分析平台 请访问原文链接&#xff1a;https://sysin.org/blog/splunk-9/ 查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sys…...

西门子1200控制下的单部11层电梯仿真系统:完全电脑操作、清单与组态HMI界面解析

.单部11层电梯&#xff0c;基于西门子1200 不用实物即可仿真&#xff0c;仅需一台电脑&#xff0c;欢迎学习 清单&#xff1a;plc程序HMI组态画面wincc编写电气接线图硬件框架图io表报告 备需要报告的另加&#xff0c;主讲图纸不会细讲搞电梯仿真这事儿吧&#xff0c;说难也不…...

告别MinGW!用WSL2+Clion打造Win10下最顺滑的C/C++开发环境(2023最新版)

告别MinGW&#xff01;用WSL2Clion打造Win10下最顺滑的C/C开发环境&#xff08;2023最新版&#xff09; 在Windows平台上进行C/C开发&#xff0c;开发者们长期被MinGW的性能瓶颈所困扰。编译速度慢、调试体验差、跨平台兼容性问题频发&#xff0c;这些问题严重影响了开发效率。…...

网络爬虫主流思路及反爬破解技术应用(新手速成)

‌网络爬虫的主流思路‌是模拟浏览器行为自动化抓取网页数据&#xff0c;而‌反爬破解技术‌则通过代理IP、请求伪装、动态渲染处理等方式绕过网站防护机制&#xff0c;实现稳定高效的数据采集 。一、主流爬虫技术思路 1.‌请求模拟与数据提取‌ 使用 requests 或 urllib 构建H…...