【C++】C++中的assign函数详解
目录
一.assign函数是什么
二.assign函数怎么用
一.assign函数是什么
在C++中, assign 是 std::string 类的一个成员函数,用于给字符串对象赋值,可以替换字符串对象中的内容为另一个字符串或字符串的一部分。 std::string 的 assign 函数有多个重载版本,允许不同的赋值方式。
基本用法
以下是 std::string 类 assign 函数的一些常见用法:
1. 替换为另一个字符串:
std::string str1;
std::string str2 = "Hello World";
str1.assign(str2); // str1 现在包含 "Hello World"
2. 替换为字符串的一部分:
std::string str = "Hello World";
std::string part;
part.assign(str, 6, 5); // part 现在包含 "World" (从索引6开始,长度为5)
3. 替换为字符的重复序列:
std::string repeated;
repeated.assign(10, 'a'); // repeated 现在包含 "aaaaaaaaaa"
函数原型
以下是 std::string::assign 的几种函数原型:
void assign(const std::string& str); void assign(const std::string& str, size_type pos, size_type len = npos); void assign(const char* s, size_type n); void assign(const char* s); void assign(size_type n, char c);
参数说明
第一个版本接受一个 std::string 对象作为参数,将当前字符串对象的内容替换为传入字符串的内容。
第二个版本接受一个 std::string 对象、一个起始位置 pos 和一个长度 len 作为参数,将当前字符串对象的内容替换为传入字符串从 pos 开始的 len 个字符的子串。如果 len 被设置为 std::string::npos (这是 std::string 类的一个特殊值,表示直到字符串的末尾),则子串将从 pos 开始一直到传入字符串的末尾。
第三个和第四个版本接受一个C风格的字符串 s 和一个长度 n 或者整个字符串,将当前字符串对象的内容替换为C字符串的前 n 个字符或整个字符串。
最后一个版本接受一个字符 c 和一个数量 n ,将当前字符串对象的内容替换为字符 c 重复 n 次的序列。
二.assign函数怎么用
示例代码
#include <iostream>
#include <string>int main() {std::string original = "Original string";std::string copy;// 完全赋值copy.assign(original);std::cout << "Assigned string: " << copy << std::endl;// 部分赋值copy.assign(original, 5, 6); // 从索引5开始,长度为6std::cout << "Assigned substring: " << copy << std::endl;// 重复字符赋值copy.assign(10, '*');std::cout << "Assigned repeated characters: " << copy << std::endl;return 0;
}
使用 assign 方法可以灵活地对 std::string 对象进行赋值操作,无论是整体替换,部分替换,还是创建重复字符的序列。
相关文章:
【C++】C++中的assign函数详解
目录 一.assign函数是什么 二.assign函数怎么用 一.assign函数是什么 在C中, assign 是 std::string 类的一个成员函数,用于给字符串对象赋值,可以替换字符串对象中的内容为另一个字符串或字符串的一部分。 std::string 的 assign 函…...

Hadoop3:MR程序的数据倾斜问题处理
一、数据倾斜 什么是数据倾斜? 学过Redis集群的都知道数据倾斜这个问题。 就是大量数据,分配不均匀的现象。 二、MR数据倾斜 1、怎么判断出现数据倾斜? 数据频率倾斜——某一个区域的数据量要远远大于其他区域。 数据大小倾斜——部分记…...
Mojo 编程语言简介
Mojo 是一种新兴的编程语言,旨在结合 Python 的易用性与 C 的高性能,特别是面向高性能计算、机器学习和系统编程等领域。Mojo 的设计目标是提供一种既具备高级语言灵活性,又能够高效运行的编程工具。 主要特性 高性能:通过高级编…...

【有效验证】解决SQLyog连接MYSQL的错误 1251 - Client does not support
目录 一、原因分析: 二、进入到mysql 三、查看当前加密方式 四、更改加密方式 五、查看是否成功 前言:使用一个开源软件使用sqlyog、navcat都报1251错误,网上都是提示升级客户端,还有一种就是修改mysql配置。本文就是修改配置…...

Keka for Mac v1.4.3 中文下载 解压/压缩工具
Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件,将其从左侧拖入右侧文件夹中,等待安装完毕2、应用程序显示软件图标,表示安装成功 三、运行测试1、打开软件2、文件访问权限修改3、访达扩展 安装完成!ÿ…...
springboot3.2 RedisCacheManager配置
1、启用并配置 添加 EnableCaching 注解 并配置 RedisCacheManager package config;import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.PropertyAccessor; import c…...

IP地址与MAC地址区别
MAC地址和IP地址是现代计算机网络中两个非常重要的概念,它们各自承担着不同的角色和功能。 MAC地址(Media Access Control Address) 一种物理地址,它是烧录在网卡或接口上的,具有全球唯一性,一般不能被改…...
Linux chmod 命令简介
在Linux中,chmod 命令用于改变文件或文件夹的访问权限。要改变一个文件夹及其内部所有文件和子文件夹的权限,您可以使用递归选项 -R。以下是一些常用的 chmod 命令示例: 给所有用户读、写和执行权限: chmod -R 777 /path/to/direc…...

【LeetCode】删除排序链表中的重复元素 II
目录 一、题目二、解法完整代码 一、题目 给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。 示例 1: 输入:head [1,2,3,3,4,4,5] 输出:[1,2,5] 示例 …...
Pandas使用 `iloc` 和 `loc` 常见用法汇总
文章目录 df.iloc 常见用法1. 获取特定行2. 获取特定列3. 获取特定的行和列4. 获取行切片5. 获取列切片6. 获取特定的行和列切片 df.loc 常见用法1. 获取特定行2. 获取特定列3. 获取特定的行和列4. 获取行切片5. 获取列切片6. 获取特定的行和列切片 示例代码 df.iloc 和 df.lo…...

【linux服务器】大语言模型实战教程:LLMS大模型快速部署到个人服务器
🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引言 说到大语言模型相信大家都不会陌生,大型语言模型(LLMs)是人工智能文本处理的主要类型,也现在最流行的人工智能…...
Windows 32 汇编笔记(二):使用 MASM
一、Win32 汇编源程序的结构 ; Hello.asm ; 使用 Win32 ASM 写的 Hello, world 程序 ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>…...

手机和电脑通过TCP传输(一)
一.工具 手机端:网络调试精灵 电脑端:野火网络调试助手 在开始通信之前,千万要查看一下电脑的防火墙是否关闭,否则可能会无法通信 在开始通信之前,千万要查看一下电脑的防火墙是否关闭,否则可能会无法通信…...

Sentinel规则持久化Push模式两种实现方式
文章目录 sentinel持久化push推模式微服务端的实现具体实现源码分析读数据源写数据源的实现 微服务端解析读数据源流程 修改源码的实现官方demo修改源码实现配置类flowauthoritydegreadparamsystemgateway修改源码 测试补充 前置知识 pull模式 sentinel持久化push推模式 pull拉…...

Spring Boot 中使用 Resilience4j 实现弹性微服务的简单了解
1. 引言 在微服务架构中,服务的弹性是非常重要的。Resilience4j 是一个轻量级的容错库,专为函数式编程设计,提供了断路器、重试、舱壁、限流器和限时器等功能。 这里不做过多演示,只是查看一下官方案例并换成maven构建相关展示&…...
Hadoop3:MR程序压测实验
一、环境要求 内存:128G CPU:32C 磁盘:8T 注:一个虚拟机不超过150G磁盘尽量不要执行这段代码 二、案例 1、需求 使用Sort程序评测MapReduce 2、操作步骤 1、使用RandomWriter来产生随机数,每个节点运行10个Map任…...

初学者如何通过建立个人博客盈利
建立个人博客不仅能让你在网上表达自己,还能与他人建立联系。通过博客,可以创建自己的空间,分享想法和故事,并与有相似兴趣和经历的人交流。 本文将向你展示如何通过建立个人博客来实现盈利。你将学习如何选择博客主题、挑选合适…...
构建稳健性:如何在Gradle中配置构建失败时的行为
构建稳健性:如何在Gradle中配置构建失败时的行为 在软件开发过程中,构建失败是不可避免的。然而,如何优雅地处理构建失败并从中恢复,是提高开发效率和软件质量的关键。Gradle,作为一款强大的构建工具,提供…...
大语言模型-基础及拓展应用
一、基础模型 1、Transformer 2、bert 3、gpt 二、大语言模型 三、句子向量 四、文档解析 1、通用解析 2、docx解析 3、 pdf解析 4、pptx解析 五、向量数据库...

STM32使用Wifi连接阿里云
目录 1 实现功能 2 器件 3 AT指令 4 阿里云配置 4.1 打开阿里云 4.2 创建产品 4.3 添加设备 5 STM32配置 5.1 基础参数 5.2 功能定义 6 STM32代码 本文主要是记述一下,如何使用阿里云物联网平台,创建一个简单的远程控制小灯示例。 完整工程&a…...

Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
SQL Server 触发器调用存储过程实现发送 HTTP 请求
文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...

【若依】框架项目部署笔记
参考【SpringBoot】【Vue】项目部署_no main manifest attribute, in springboot-0.0.1-sn-CSDN博客 多一个redis安装 准备工作: 压缩包下载:http://download.redis.io/releases 1. 上传压缩包,并进入压缩包所在目录,解压到目标…...