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

【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  对象进行赋值操作,无论是整体替换,部分替换,还是创建重复字符的序列。

 

http://www.lryc.cn/news/401867.html

相关文章:

  • Hadoop3:MR程序的数据倾斜问题处理
  • Mojo 编程语言简介
  • 【有效验证】解决SQLyog连接MYSQL的错误 1251 - Client does not support
  • Keka for Mac v1.4.3 中文下载 解压/压缩工具
  • springboot3.2 RedisCacheManager配置
  • IP地址与MAC地址区别
  • Linux chmod 命令简介
  • 【LeetCode】删除排序链表中的重复元素 II
  • Pandas使用 `iloc` 和 `loc` 常见用法汇总
  • 【linux服务器】大语言模型实战教程:LLMS大模型快速部署到个人服务器
  • Windows 32 汇编笔记(二):使用 MASM
  • 手机和电脑通过TCP传输(一)
  • Sentinel规则持久化Push模式两种实现方式
  • Spring Boot 中使用 Resilience4j 实现弹性微服务的简单了解
  • Hadoop3:MR程序压测实验
  • 初学者如何通过建立个人博客盈利
  • 构建稳健性:如何在Gradle中配置构建失败时的行为
  • 大语言模型-基础及拓展应用
  • STM32使用Wifi连接阿里云
  • 2024.7.16日 最新版 docker cuda container tookit下载!
  • 打印室预约小程序的设计
  • Android音视频—OpenGL 与OpenGL ES简述,渲染视频到界面基本流程
  • Vscode中Github copilot插件无法使用(出现感叹号)解决方案
  • Spring-cloud-openfeign-@FeignClient中的configuration属性
  • 实验七:图像的复原处理
  • 前端面试题日常练-day94 【Less】
  • c 语言 中 是否有 unsigned 安;这种写法?
  • Hive第三天
  • 【C++】模版初阶以及STL的简介
  • 51单片机学习(4)