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

news2024/10/7 13:24:14

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.coloradmin.cn/o/1462533.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

js如何抛异常,抛自定义的异常

js如何抛异常,抛自定义的异常 最简单的自定义异常 throw "hello" 来自chrome123的控制台的测试 throw "hello" VM209:1 Uncaught hello &#xff08;匿名&#xff09; VM209:1 try{ throw "hello";}catch(e){console.log(e);} VM338:1 hello…

每日coding 337打家劫舍III

337. 打家劫舍 III 小偷又发现了一个新的可行窃的地区。这个地区只有一个入口&#xff0c;我们称之为 root 。 除了 root 之外&#xff0c;每栋房子有且只有一个“父“房子与之相连。一番侦察之后&#xff0c;聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。…

08 按键消抖

在按键控制 LED中采用直接读取按键电平状态&#xff0c;然后根据电平状态控制LED。虽然直接读取按键电平状态然后执行相应处理程序的方法非常简单&#xff0c;但是这种方式可能存在误判问题&#xff0c;进而有可能导致程序功能异常&#xff0c;这是因为按键按下和松开时存在抖动…

WordPress后台自定义登录和管理页面插件Admin Customizer

WordPress默认的后台登录页面和管理员&#xff0c;很多站长都想去掉或修改一些自己不喜欢的功能&#xff0c;比如登录页和管理页的主题样式、后台左侧菜单栏的某些菜单、仪表盘的一些功能、后台页眉页脚某些小细节等等。这里boke112百科推荐这款可以让我们轻松自定义后台登录页…

定制学习风格、满足多元需求:Mr. Ranedeer 帮你打造 AI 家教 | 开源日报 No.178

JushBJJ/Mr.-Ranedeer-AI-Tutor Stars: 20.4k License: NOASSERTION Mr. Ranedeer 是一个个性化的 AI 辅导项目&#xff0c;主要功能包括使用 GPT-4 生成定制化提示&#xff0c;为用户提供个性化学习体验。其核心优势和特点包括&#xff1a; 调整知识深度以满足学习需求定制学…

Nginx 和 Apache 的比较

Nginx和Apache的对比 Nginx和Apache的优缺点比较 (1)nginx相对于apache的优点 ①轻量级&#xff0c;同样起web服务&#xff0c;比apache占用更少的内存及资源 ②抗并发&#xff0c;nginx处理请求是异步非阻塞的&#xff0c;而apache是阻塞型的在高并发下&#xff0c;nginx能保持…

9.vue学习笔记(组件传递Props校验+组件事件-组件传递数据+组件事件-配合“v-model”使用)

文章目录 1.组件传递Props校验1.1.默认值1.2.必选项1.3.注意事项&#xff1a;props 是只读的 2.组件事件-组件传递数据2.1.温馨提示&#xff1a;组件之间传递数据的方案 3.组件事件-配合“v-model”使用 1.组件传递Props校验 Vue组件可以更细致地声明对传入的 props 的校验要求…

基于JAVA+SpringBoot+Vue的前后端分离的电子商城

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 在当今数字化时代&…

人工智能与机器学习行业新闻:颠覆企业运营方式的 AI 趋势

AI 推动业务转型 人工智能 (AI) 和机器学习已经在重塑各行各业的业务模式。AI 通过处理和整合数据支持战略决策的制定&#xff0c;其规模和速度远远超过了人脑。无疑&#xff0c;未来我们还将在 AI 领域取得许多重大突破&#xff0c;而拥有大量数据的行业可能会从人工智能革命…

C++ Primer 笔记(总结,摘要,概括)——第3章 字符串、向量和数组

目录 3.1 命名空间的using声明 3.2 标准库类型string 3.2.1 定义和初始化string对象 3.2.2 string对象上的操作 3.2.3 处理string对象中的字符 3.3 标准库类型vector 3.3.1 定义和初始化vector对象 3.3.2 向vector对象中添加元素 3.3.3 其他vector操作 3.4 迭代器介绍 3.4.…

”戏说“ 交换机 与 路由器

一般意义上说 老哥 这文章发表 的 东一榔头 西一锤 呵呵&#xff0c; 想到哪里就啰嗦到哪里 。 交换机&#xff1a; 其实就是在通道交换 路由器&#xff1a; 不光是在通道交换还要在协议上交换 下图你看懂了吗&#xff1f; &#xff08;仅仅数据交换-交换机 协议…

安卓开发:挑战每天发布一个封装类02--Wav录音封装类AudioChannel 1.0

简介 库名称&#xff1a;AudioChannel 版本:1.0 由于项目需求录音并base64编码存到服务器中&#xff0c;就顺手改装了一个别人的封装类 原封装类地址:Android AudioRecord音频录制wav文件输出 - 简书 (jianshu.com) 描述&#xff1a;此封装类基于AudioRecord实现wav的音频…

10.CSS3的calc函数

CSS3 的 calc 函数 经典真题 CSS 的计算属性知道吗&#xff1f; CSS3 中的 calc 函数 calc 是英文单词 calculate&#xff08;计算&#xff09;的缩写&#xff0c;是 CSS3 的一个新增的功能。 MDN 的解释为可以用在任何长度、数值、时间、角度、频率等处&#xff0c;语法如…

详细描述一下CrossOver2024版本的用途和作用?

当然可以。CrossOver 是一款由 CODE WEAVERS 公司开发的软件&#xff0c;其主要目标是在 macOS 和 Linux 系统上实现与 Windows 应用程序的兼容性。它不同于传统的虚拟机&#xff0c;如 Parallels 或 VMware&#xff0c;因为它并不在 macOS 上创建一个完整的 Windows 环境。相反…

【进程概念】

目录 什么是在计算机运行的程序这么多运行的程序计算机是如何管理的先描述再组织 什么是在计算机运行的程序 对于一个在磁盘可执行的二进制文件&#xff0c;也可叫做可执行程序。对于一个可执行的程序&#xff0c;程序有自己的代码和数据。一旦运行起来&#xff0c;就会在计算…

旅游分享系列之:福建旅游攻略

旅游分享系列之&#xff1a;福建旅游攻略 一、漳州1.福建土楼2.云水谣3.四菜一汤景点 二、厦门1.园林博览苑2.海上自行车道3.山海步道4.海滩5.闽南菜6.落日 三、泉州1.衙口沙滩2.海上日出3.珞珈寺4.海滩烟花 一、漳州 游玩2个景点&#xff1a;云水谣&#xff0c;四菜一汤可以住…

永恒之黑和永恒之蓝 漏洞解析及复现

充当攻击机的机器是kali&#xff0c;另外需要关闭防火墙策略。 永恒之黑&#xff08;CVE-2020-0796&#xff09; 靶机&#xff1a;windows 10的IP地址&#xff1a;192.168.200.30 原理&#xff1a;实现远程代码执行 注意&#xff1a; 这个脚本运行有时候会导致靶机蓝屏&am…

OpenAI Sora引领AI跳舞视频新浪潮:字节跳动发布创新舞蹈视频生成框架

OpenAI的Sora已经引起广泛关注&#xff0c;预计今年AI跳舞视频将在抖音平台上大放异彩。下面将为您详细介绍一款字节跳动发布的AI视频动画框架。 技术定位&#xff1a;这款框架采用先进的diffusion技术&#xff0c;专注于生成人类舞蹈视频。它不仅能够实现人体动作和表情的迁移…

(done) 什么是正定矩阵?Positive Definite Matrices

正定矩阵的定义&#xff1a;https://baike.baidu.com/item/%E6%AD%A3%E5%AE%9A%E7%9F%A9%E9%98%B5/11030459 正定矩阵的作用、验证视频&#xff1a;https://www.bilibili.com/video/BV1Ag411M76G/?spm_id_from333.337.search-card.all.click&vd_source7a1a0bc74158c6993c…

webpack配置杂记

1、热更新 安装webpack-dev-server : npm i webpack-dev-server -D webpack.config.js配置 module.exports {// 其他配置...,// 热更新配置devServer: {host: "localhost",port: 3000,}, } 2、入口entry&#xff1a;使用相对路径们也就是webpack程序运行的路径&am…