C++之string

embedded/2024/10/18 7:55:35/

1、标准库string类型

2、string对象的定义和初始化

#include <string>
#include <iostream>
using namespace std;int main() {string s1;string s2("abcdefghijklmn");cout << s2 << endl;basic_string<char> s3("xxxx");  // basic_string<char> 等价于string,其实string 就是一个模板,basic_string<char> 是它的原型cout << s3 << endl;string s4("abcdefg", 4);cout << s4 << endl;string s5(s2, 2, 3);cout << s5 << endl;string::iterator first = s2.begin() + 1;string ::iterator last = s2.begin() + 3;string s6(first, last);  // [first, last)cout << s6 << endl;return 0;
}// 输出
abcdefghijklmn
xxxx
abcd
cde
bc

3、常用的成员函数

#include <string>
#include <iostream>
using namespace std;int main() {string s1("abcdefghi");cout << s1.size() << endl;cout << s1.length() << endl;cout << s1.empty() << endl;cout << s1.substr(1, 2) << endl;cout << s1.substr(1) << endl;string::size_type pos = s1.find('d', 1);if(pos == string::npos){cout << "not found" << endl;}else{cout << "pos = " << pos << endl;}pos = s1.rfind('d');if(pos == string::npos){cout << "not found" << endl;}else{cout << "pos = " << pos << endl;}return 0;
}// 输出
9
9
0
bc
bcdefghi
pos = 3
pos = 3
#include <string>
#include <iostream>
using namespace std;int main() {string s1("abcdefghijkl");s1.replace(2, 2, "AAAAA");cout << s1 << endl;s1 = "abcdefg";s1.replace(s1.begin() + 1, s1.begin() + 4, "BBBBB");cout << s1 << endl;string s2 = "xyzabc";s2.insert(2, "FFFFFF");cout << s2 << endl;s2.append("7777777777");cout << s2 << endl;string s3 = "111";s2.swap(s3);cout << s2 << endl;cout << s3 << endl;return 0;
}// 输出
abAAAAAefghijkl
aBBBBBefg
xyFFFFFFzabc
xyFFFFFFzabc7777777777
111
xyFFFFFFzabc7777777777
#include <string>
#include <iostream>
using namespace std;void fun(char* str)
{cout << str << endl;
}
int main() {string s1 = "abc";s1[1] = 'B';cout << s1 << endl;const string s2 = "xyz";//s2[1] = 'Y';  // function 'operator[]' returns a const valuestring s3 = "132" + s1 + "6547";cout << s3 << endl;fun(const_cast<char*>(s3.c_str()));return 0;
}// 输出
aBc
132aBc6547
132aBc6547

4、常用的成员函数


http://www.ppmy.cn/embedded/44623.html

相关文章

【机器学习】AI大模型的探索—浅谈ChatGPT及其工作原理

&#x1f4dd;个人主页&#xff1a;哈__ 期待您的关注 目录 &#x1f4da;介绍ChatGPT 1.1 什么是ChatGPT 1.2 ChatGPT的应用场景 &#x1f4a1;基础概念 1. 人工智能和机器学习 1.1 人工智能&#xff08;AI&#xff09;简介 1.2 机器学习&#xff08;ML&#xff09;简…

Caliburn.Micro框架学习笔记——IOC配置

如果我们想要自己写的程序更加模块化&#xff0c;这个时候就需要考虑IOC容器注入的思维。在使用Caliburn.Micro时该如何配置&#xff1f;其基本步骤如下—— 安装 Caliburn.Micro 包。创建并配置 AppBootstrapper 类。配置 App.xaml 以使用 AppBootstrapper 启动应用程序。创建…

【机器学习】Adaboost: 强化弱学习器的自适应提升方法

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 Adaboost: 强化弱学习器的自适应提升方法引言Adaboost基础概念弱学习器与强学习…

如何防止重复提交请求?

下面说的防重操作&#xff0c;如支付功能订单提交业务、表单提交、手机验证码功能。 订单提交为什么需要防重呢&#xff1f;想像一下你在商城购物&#xff0c;你选中商品点击提交订单&#xff0c;如果这时网络延迟没有返回成功提示&#xff0c;你又多点了几次。每点一次都会发送…

css-垂直居中的几种写法

图示 1、使用line-height属性&#xff08;当div有固定高度时&#xff09; 2、使用flexbox布局

centos7安装MySQL

文章目录 centos7 aarch64安装MySQL5.7.27errorERROR 1045 (28000): Access denied for user rootlocalhost (using password: NO) yum安装mysql8运行初始化 errorDBMS: MySQL (版本 8.4.0) 区分大小写: 普通形式mixed&#xff0c;分隔形式exact NotBefore: Wed May 29 13:09:1…

C 语言实例 - 表格形式输出数据

将 1~100 的数据以 10x10 矩阵格式输出。 #include <stdio.h>int main() {int i, j, count;for(i 1; i < 10; i) {for(j i; j <100; j 10 )printf(" %3d", j);printf("\n");}return 0; }运行结果&#xff1a; 1 11 21 31 41 51 61 …

QT常用快捷键

Qt creator 最常用的13个快捷键 alt enter // 自动创建类的定义 F1 // 查看帮助&#xff0c;文档 F2 // 快速到变量声明 Shift F2 // 函数的声明和定义之间快速切换 F4 // 在 cpp 和 h 文件切换 Ctrl M 创建书签&#xff0c; Ctrl . 切换书签 Alt M打开书签栏。 Ctrl…