string,字符串使用指南
string
创建
创建一个字符串或者字符串数组如下
用 cin 输入,可以读一整串字符直到空格或换行才结束
#include <iostream>
using namespace std;
const int N = 9;
int main()
{
string s;
string strs[N];
cin >> s;
for (int i = 0; i < N; i ++ )
{
cin >> strs[i];
}
cout << s << endl;
for (int i = 0; i < N; i ++ )
{
cout << strs[i] << endl;
}
return 0;
}
访问大小
.size() 和 .length() 可以访问字符串的长度
#include <iostream>
using namespace std;
const int N = 9;
int main()
{
string s;
cin >> s;
cout << s.size() << endl;
return 0;
}
开头与结尾
.begin()是开头的地址
.end()是结尾的地址
插入
.push_back() 可以尾插
.insert() 可以精确插入,其中放插入的位置和插入的字符内容
#include <iostream>
using namespace std;
const int N = 9;
int main()
{
string s;
cin >> s;
cout << s << endl;
s.push_back('5');
cout << s << endl;
s.insert(s.begin(), '0');
cout << s << endl;
return 0;
}
删除
.erase(),里面放地址
#include <iostream>
using namespace std;
const int N = 9;
int main()
{
string s;
cin >> s;
cout << s << endl;
s.erase(s.begin());
cout << s << endl;
return 0;
}
查找
find(),里面放字符串或者字符,返回下标数字
#include <iostream>
using namespace std;
const int N = 9;
int main()
{
string s;
cin >> s;
cout << s << endl;
cout << s.find('1') << endl;
return 0;
}
下面是放字符的情况
#include <iostream>
using namespace std;
const int N = 9;
int main()
{
string s;
cin >> s;
cout << s << endl;
cout << s.find("23") << endl;
return 0;
}
截取
substr(), 放两个数,一个是下标,一个是截取的长度
#include <iostream>
using namespace std;
const int N = 9;
int main()
{
string s;
cin >> s;
cout << s << endl;
s = s.substr(2, 5);
cout << s << endl;
return 0;
}
比较
string会默认按字典序比较,由高位向低位去比较
#include <iostream>
using namespace std;
const int N = 9;
int main()
{
string s1 = "123456", s2 = "12345";
cout << (s1 > s2) << endl;
s1 = "12345", s2 = "12346";
cout << (s1 > s2) << endl;
return 0;
}
拼接
#include <iostream>
using namespace std;
const int N = 9;
int main()
{
string s1 = "123456", s2 = "789";
string s3 = s1 + s2;
cout << s3 << endl;
return 0;
}
反转
reverse(开始地址, 结束地址)可以反转内容
string,字符串使用指南的更多相关文章
- Java String字符串/==和equals区别,str。toCharAt(),getBytes,indexOf过滤存在字符,trim()/String与StringBuffer多线程安全/StringBuilder单线程—— 14.0
课程概要 String 字符串 String字符串常用方法 StringBuffer StringBuilder String字符串: 1.实例化String对象 直接赋值 String str=& ...
- [CareerCup] 1.3 Permutation String 字符串的排列
1.3 Given two strings, write a method to decide if one is a permutation of the other. 这道题给定我们两个字符串,让 ...
- 03-Java String字符串详解
1.Java字符串String A.实例化String字符串:直接赋值(更合理一些,使用较多).使用关键字new. B.String内容的比较 // TODO Auto-generated metho ...
- C++学习38 string字符串的增删改查
C++ 提供的 string 类包含了若干实用的成员函数,大大方便了字符串的增加.删除.更改.查询等操作. 插入字符串 insert() 函数可以在 string 字符串中指定的位置插入另一个字符串, ...
- C++学习37 string字符串的访问和拼接
访问字符串中的字符 string 字符串也可以像字符串数组一样按照下标来访问其中的每一个字符.string 字符串的起始下标仍是从 0 开始.请看下面的代码: #include <iostrea ...
- java String字符串——进度1
String字符串 在JAVA中提供了多种创建字符串对象的方法,这里介绍最简单的两种, 第一种是直接赋值, 第二种是使用String类的构造方法: 如下所示: Strin ...
- 关于String字符串反转
这是网上看到的一篇java面试题中的问题: 问题是: 如何将一个String字符串反转. String str = "1234567"; int length = str.leng ...
- JavaScript的内置对象(Date日期+string字符串)基础语法总结
1.Date日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒). 1)定义一个时间对象 : var Udate=new Date(); //注意:使用关键字new,Date()的首 ...
- 【转】String字符串相加的问题
String字符串相加的问题 前几天同事跟我说我之前写的代码中在操作字符串时候,使用字符串相加的方式而不是使用StringBuffer或者StringBuilder导致内存开销很大.这个问题一直在困扰 ...
- 从零开始学习前端JAVASCRIPT — 3、JavaScript基础string字符串介绍
1:字符串 JS中的任何数据类型都可以当作对象来看.所以string既是基本数据类型,又是对象. 2:声明字符串 基本数据类型:var sStr = '字符串'; 对象的方法:var oStr = n ...
随机推荐
- 充分利用HarmonyOS NEXT:开发者的全功能指南
随着技术的不断进步,开发者们面临着如何在复杂的技术环境中创造出卓越应用的挑战.在当今的科技浪潮中,如何抓住创新的机遇?HarmonyOS NEXT的发布,带来了全新的机遇和功能.本文将探讨开发者如何充 ...
- 我恨 gevent
报错了一晚上,最后发现是 python 版本不对.3.11,3.12,3.8,3.10 试了个遍,最后 3.10 终于编译通过了 还有这个 greenlet,每次都是它和 gevent 合着来恶心我 ...
- 常用 DNS 查询速度测试
测试工具 DNS-Benchmark | GitHub 总结 进过多轮测试,我认为: 223.5.5.5 和 223.6.6.6 平均响应时间最短(223.5.5.5 在教育网内疑似无法连通) 114 ...
- 【Jmeter】之批量处理多接口压力测试
一.需求前提 1.有以下三个步骤: ①创建单据 ②审核单据 ③确认单据 让三个相关接口进行一连串批量请求操作,直到所有批量数据确认单据成功. 二.测试计划 需要说明的是,因为每个接口可能处理的不太一样 ...
- CSS – ellipsis and line-clamp
前言 CSS 很早就有 build-in 方案 for 省略号 ellipsis 了. 但是只能 one line, 遇到多行的时候只能用 JS. 后来出了 line-clamp 终于把 multip ...
- 深度解读:Spring.3版本自动装配机制的演变与实践
前言 今天,我们将开启对Spring-AI系列源码的讲解.请大家不急不躁,我会逐步深入,每次专注于一个知识点,以防让人感到困惑. 首先,源码的讨论自然离不开自动装配.有人可能会问,之前已经讲解过这个内 ...
- HiveServer2 文件描述符泄漏
现象 用户反馈 hs2 打开的文件描述符的数量一直在涨,但是当前 hs2 的连接只有个位数. 排查过程 首先找到 hs2 进程持有了哪些文件描述符,通过 lsof 命令 lsof -p $pid ,看 ...
- pimp技法浅析--实现轻量级的面向接口编程
pimp.hpp: #ifndef pimp_hpp #define pimp_hpp class CMyComponent{ public: CMyComponent(); ~CMyComponen ...
- 内核模块踩内存问题定位利器- hardware breakpoint
内核由于共享内存地址空间,如果没有合适的工具,很多踩内存的问题即使复现,也无法快速定位: 在新的内核版本中引入了一个新工具hardware breakpoint,其能够监视对指定的地址的特定类型(读/ ...
- 1.2 HELLO 三角形
这一节,我觉得是相当有难度的.渲染一个三角形,就需要介绍GLSL语言,图形渲染管线(Graphics Pipeline)以及着色器(Shader),标准化设备坐标(NDC)等诸多概念. 图形渲染管线和 ...