【C++】字符类型和字符数组-string

STL-容器 - string

字符串必须具备结尾字符\0

#include<iostream>
#include<string>
using namespace std;
//STL-容器 - string
char ch[101];//字符串必须具备结尾字符\0
int main() {
	int n; cin >> n;
	for (int i = 0; i < n; i++) {
		cin >> ch[i];
	}
	cout << ch << endl;
	return 0;
}

有两个以上的字符串用getline()

void test02() {
	string s1, s2;//底层是由char ch[]实现
	getline(cin, s1);//遇到回车输入结束
	//cin >> s1;//遇到空格或者回车,结束
	//getchar();//吃掉cin之后产生的换行符
	getline(cin, s2);
	cout << s1 << endl << s2 << endl;
}
void test03() {
	string s;
	cin >> s;
	//把string当成字符数组使用
	for (int i = 0; i < s.size()/*s.length()*/; i++) {
		cout << s[i];
	}
}

string的基础操作

void test04() {
	string s1, s2;
	cin >> s1 >> s2;
    
	//字符串的比较规则:从首位开始逐位比较,若发现某一位不等,则ASCII大的那个字母所在的字符串就是大的
    //abcd和abz比,abz大;abcd和abc比,abcd大;
	/*if (s1 > s2) {
		cout << s1 << ">" << s2 << endl;
	}
	else if (s1 < s2) {
		cout << s1 << "<" << s2 << endl;
	}
	else cout << s1 << "=" << s2 << endl;*/
    
    
	//s1 = s1 + " " + s2;//字符串的拼接
	//s1 = s2;//字符串的拷贝
    
    cout << s1 << endl;
}

string 的相关函数

s.erase()删除
s.insert()插入
s.find()字符串的查找
s.substr()字符串的截取
sort()排序
reverse()翻转
stoi()字符串转int
stol()字符串转longlong
stod()字符串转double
to_string其他类型转string

void test05() {
	string s = "hello world";
    
	s.erase(5, 1);
    //s.erase(int pos,int count)从下标pos位置开始删除count个
	//s.erase(int pos)从下标pos位置开始删除,删除到最后
    
	s.insert(5, 1, ' ');
    //s.insert(int pos,int count,char val) 在下标pos位置插入count个val
    
	cout << s << endl;
}
void test06() {
	string s1, s2;
	getline(cin, s1);
	getline(cin, s2);
	//s1.find(s2)在s1中查询s2
	//若查找成功,则返回s2第一次在s1中出现时,首字母的下标
	//若查找失败,则返回-1
	//i love china,i love daqing
	//love
	int pos = s1.find(s2);
	if (pos != -1) {
		cout << s2 << " is substr of " << s1 << endl;
		cout << "the first pos of s1:" << pos << endl;
	}
	else cout << "none" << endl;
}
#include<iostream>
#include<string>
using namespace std;
//substr(int pos, int count)从下标pos位置向后截取count个
int main() {
	string s = "hello world";
	cout << s.substr(0, 5) << endl;
	cout << s << endl;//返回截取后的子串,原串不变
	return 0;
}

void test07() {
	string s;
	cin >> s;
	//s.begin()指向了首元素迭代器
	//s.end()指向了尾元素的下一位迭代器
	sort(s.begin(),s.end());//必须和迭代器联合使用
	cout << s << endl;
}
void test08() {//字符串数组的排序
	string a[10];
	int n; cin >> n;
	for (int i = 0; i < n; i++) cin >> a[i];
	sort(a,a+n);
	for (int i = 0; i < n; i++) cout<< a[i]<<endl;
}
void test09() {
	string s;
	cin >> s;
	reverse(s.begin(), s.end());
	cout << s << endl;
}
void test10() {
	string s1 = "123",s2="111";
	cout<<stoi(s1) + stoi(s2)<<endl;
	//stoi()
	//stol()

	//stod()
	string s3 = "3.14",s4="1.11";
	cout << stod(s3) + stod(s4) << endl;

	//to_string()
	int a = 123;  double d = 3.14;
	cout << to_string(a) + to_string(d) << endl;
    //double默认保留六位小数
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/407268.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

iptables和五链四表相关规则说明

文章目录 1. iptables的作用2. iptables和netfilter的联系和区别3. 四表五链说明3.1 四表3.2 五链3.3 表与链之间的包含关系 4. iptables规则的常用命令和使用方法4.1 iptables规则组成4.2 规则数据管理 5. 常用的iptables场景5.1 禁止外部主机ping内部主机5.2 禁止某些端口访问…

Linux——动态库

Linux——动态库 gcc 指令生成动态库动态库的使用动态库与静态库区别直接装到系统中软连接LD_LIBRARY_PATH直接修改动态库的配置文件 上一次我们了解了静态库&#xff0c;这次我们来了解动态库&#xff0c;如果还有没看过上一篇静态库的小伙伴&#xff0c;可以点击这里&#xf…

【深度学习笔记】3_6 代码实现softmax-regression

注&#xff1a;本文为《动手学深度学习》开源内容&#xff0c;仅为个人学习记录&#xff0c;无抄袭搬运意图 3.6 softmax回归的从零开始实现 这一节我们来动手实现softmax回归。首先导入本节实现所需的包或模块。 import torch import torchvision import numpy as np import…

LeetCode206: 反转链表.

题目描述 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 解题方法 假设链表为 1→2→3→∅&#xff0c;我们想要把它改成∅←1←2←3。在遍历链表时&#xff0c;将当前节点的 next指针改为指向前一个节点。由于节点没有引用其前一…

详细讲解缓冲区

目录 理解回车和换行&#xff08;\r&&\n&#xff09; 那如何实现单独的回车和换行呢&#xff1f; 缓冲区 证明有缓冲区的存在 ​编辑 怎么刷新缓冲区&#xff08;显示器缓冲区&#xff09;&#xff1f; fflush函数​编辑 缓冲区出现的意义 I/O流 模拟倒计时小程…

Nodejs 第四十章(prisma)

什么是 prisma? Prisma 是一个现代化的数据库工具套件&#xff0c;用于简化和改进应用程序与数据库之间的交互。它提供了一个类型安全的查询构建器和一个强大的 ORM&#xff08;对象关系映射&#xff09;层&#xff0c;使开发人员能够以声明性的方式操作数据库。 Prisma 支持…

EasyRecovery破解版补丁免费钥匙下载

说起数据恢复软件&#xff0c;相信没有小伙伴不知道EasyRecovery这个软件吧&#xff0c;该软件具有快捷、高效、便捷的特点&#xff0c;且提供的功能也非常全面&#xff0c;不仅可以恢复各样被删除的文件、视频、图片等&#xff0c;还可以支持SD卡数据恢复&#xff0c;TF卡等各…

深入浅出CChart 每日一课——快乐高四第六十一课 飞梯十二重,CChart三维曲线图绘制

同学们好&#xff0c;今天继续介绍CChart本身的功能。接下来这几节课呢&#xff0c;笨笨老师准备对CChart的三维视图和场图功能进行详细一些的介绍。本节课首先介绍三维曲线图。 CChart软件库的开发&#xff0c;首先是从二维曲线图开始的&#xff0c;这一部分经过长时间的打磨…

SpringBoot3+Vue3 基础知识(持续更新中~)

bean 把方法的返回结果注入到ioc中 1: 2: 3: 组合注解封装 实战篇&#xff1a; 解析token&#xff1a; 统一携带token&#xff1a; 驼峰命名与下划线命名转换&#xff1a; NotEmpty!!! mybatis&#xff1a; PageHelper设置后&#xff0c;会将pageNum,和pageSize自己拼接…

ubuntu22.04@Jetson Orin Nano之OpenCV安装

ubuntu22.04Jetson Orin Nano之OpenCV安装 1. 源由2. 分析3. 证实3.1 jtop安装3.2 jtop指令3.3 GPU支持情况 4. 安装OpenCV4.1 修改内容4.2 Python2环境【不需要】4.3 ubuntu22.04环境4.4 国内/本地环境问题4.5 cudnn版本问题 5. 总结6. 参考资料 1. 源由 昨天用Jetson跑demo程…

Spring Session:入门案例

Spring Session provides an API and implementations for managing a user’s session information. Spring Session提供了一种用于管理用户session信息管理的API。 Spring Session特点 传统的Servlet应用中&#xff0c;Session是存储在服务端的&#xff0c;即&#xff1a;Ses…

聚道云软件连接器:高科技企业财务自动化,提升效率准确性!

客户介绍&#xff1a; 某互联信息技术有限公司是一家专业从事信息技术服务的高科技企业&#xff0c;在业内享有较高的知名度和影响力。近年来&#xff0c;公司业务快速发展&#xff0c;对信息化建设提出了更高的要求。 客户痛点&#xff1a; 在传统情况下&#xff0c;该公司的…

【探索Linux】—— 强大的命令行工具 P.23(线程池 —— 简单模拟)

阅读导航 引言一、线程池简单介绍二、Linux下线程池代码⭕Makefile文件⭕ . h 头文件✅Task.hpp✅thread.hpp✅threadPool.hpp ⭕ . cpp 文件✅testMain.cpp 三、线程池的优点温馨提示 引言 在Linux下&#xff0c;线程池是一种常见的并发编程模型&#xff0c;它能够有效地管理…

大模型综述总结--第一部分

1 目录 本文是学习https://github.com/le-wei/LLMSurvey/blob/main/assets/LLM_Survey_Chinese.pdf的总结&#xff0c;仅供学习&#xff0c;侵权联系就删 目录如下图 本次只总结一部分&#xff0c;刚学习有错请指出&#xff0c;VX关注晓理紫&#xff0c;关注后续。 2、概述…

字符函数和字符串函数(C语言进阶)(一)

前言 C语言中对字符和字符串的处理是很频繁的&#xff0c;但是c语言本身是没有字符串类型的&#xff0c;字符串通常放在常量字符串中或着字符数组中。 字符串常量适用于哪些对它不做修改的字符串函数。 1、函数介绍 1.1 strlen strlen&#xff1a;计算字符串长度 看一个代码&…

“AI教父”李一舟翻车,中国AI培训路在何方

近日&#xff0c;AIGC领域掀起了一场不小的风波&#xff0c;知名AI博主李一舟在各大平台推出的AI课程突然下架&#xff0c;其账号遭到禁止关注的情况。 这一事件不仅引发了广泛关注和热议&#xff0c;更让许多真正想学习AIGC的用户感到迷茫和困惑&#xff1a;在众多的AIGC课程中…

ONLYOFFICE 桌面编辑器现已更新至v8.0啦

希望你开心&#xff0c;希望你健康&#xff0c;希望你幸福&#xff0c;希望你点赞&#xff01; 最后的最后&#xff0c;关注喵&#xff0c;关注喵&#xff0c;关注喵&#xff0c;佬佬会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我真的…

一个div最简方法画太极图

一个div最简方法画太极图 直接上代码&#xff0c;一目了然 html <div class"太极图"/>css .太极图 {position: relative;width: 400px;height: 400px;background: linear-gradient(to right,white 50%,black 50%);border-radius: 50%;box-shadow:0 0 12px …

c#高级——插件开发

案例&#xff1a;WinForm计算器插件开发 1.建立插件库&#xff0c;设置各种自己所需的插件组件 如下图所示&#xff1a;进行了计算器的加减法插件计算组件 Calculator_DLL为总插件父类 Calculator_DLL_ADD 为插件子类的控件对象 Calculator_DLL_Sub Calculator_DLL_Factory 为…
最新文章