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,字符串使用指南的更多相关文章

  1. Java String字符串/==和equals区别,str。toCharAt(),getBytes,indexOf过滤存在字符,trim()/String与StringBuffer多线程安全/StringBuilder单线程—— 14.0

    课程概要 String 字符串 String字符串常用方法 StringBuffer StringBuilder String字符串: 1.实例化String对象 直接赋值  String str=& ...

  2. [CareerCup] 1.3 Permutation String 字符串的排列

    1.3 Given two strings, write a method to decide if one is a permutation of the other. 这道题给定我们两个字符串,让 ...

  3. 03-Java String字符串详解

    1.Java字符串String A.实例化String字符串:直接赋值(更合理一些,使用较多).使用关键字new. B.String内容的比较 // TODO Auto-generated metho ...

  4. C++学习38 string字符串的增删改查

    C++ 提供的 string 类包含了若干实用的成员函数,大大方便了字符串的增加.删除.更改.查询等操作. 插入字符串 insert() 函数可以在 string 字符串中指定的位置插入另一个字符串, ...

  5. C++学习37 string字符串的访问和拼接

    访问字符串中的字符 string 字符串也可以像字符串数组一样按照下标来访问其中的每一个字符.string 字符串的起始下标仍是从 0 开始.请看下面的代码: #include <iostrea ...

  6. java String字符串——进度1

    String字符串    在JAVA中提供了多种创建字符串对象的方法,这里介绍最简单的两种,    第一种是直接赋值,    第二种是使用String类的构造方法:    如下所示:    Strin ...

  7. 关于String字符串反转

    这是网上看到的一篇java面试题中的问题: 问题是: 如何将一个String字符串反转. String str = "1234567"; int length = str.leng ...

  8. JavaScript的内置对象(Date日期+string字符串)基础语法总结

    1.Date日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒). 1)定义一个时间对象 : var Udate=new Date(); //注意:使用关键字new,Date()的首 ...

  9. 【转】String字符串相加的问题

    String字符串相加的问题 前几天同事跟我说我之前写的代码中在操作字符串时候,使用字符串相加的方式而不是使用StringBuffer或者StringBuilder导致内存开销很大.这个问题一直在困扰 ...

  10. 从零开始学习前端JAVASCRIPT — 3、JavaScript基础string字符串介绍

    1:字符串 JS中的任何数据类型都可以当作对象来看.所以string既是基本数据类型,又是对象. 2:声明字符串 基本数据类型:var sStr = '字符串'; 对象的方法:var oStr = n ...

随机推荐

  1. elementUI实现月、季度、年 时间选择框

    elementUI实现月.季度.年 时间选择框 一.通过 el-date-picker 组件来实现月.年的选择 代码如下: <el-date-picker v-if="dateType ...

  2. 录音转文字SDK哪家强?

    最近在做一款录音App,有一个模块是录音转文字功能,于是对比了市面上常见的API,国内做的比较大的主要有讯飞.腾讯.阿里.百度.华为. 讯飞 讯飞在国内做语音SDK是做的比较早的,翻译出来的准确率挺不 ...

  3. 搭建ipv6并发代理池

    声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 学习目标 ounter(l ...

  4. ASP.NET Core C# 反射 & 表达式树 (第一篇)

    前言 以前就写过几篇关于反射和表达式树的学习笔记, 但是写的很乱. 最近常用到反射和表达式树, 所以特别写一篇做一个整理吧. 泛型和反射 表达式树 学习笔记 c# 常用反射和表达式树整理 反射在项目中 ...

  5. BFS 颜色填涂———洛谷p1162

    填涂颜色 题目描述 由数字 \(0\) 组成的方阵中,有一任意形状的由数字 \(1\) 构成的闭合圈.现要求把闭合圈内的所有空间都填写成 \(2\).例如:\(6\times 6\) 的方阵(\(n= ...

  6. Hugging Face 论文平台 Daily Papers 功能全解析

    文/ Adeena, 在快速发展的研究领域,保持对最新进展的关注至关重要.为了帮助开发者和研究人员跟踪 AI 领域的前沿动态,Hugging Face 推出了 Daily Papers 页面.自发布以 ...

  7. 【赵渝强老师】Redis的RDB持久化

    Redis 提供了多种不同级别的持久化方式: RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot). AOF (Append-only file) ...

  8. 如何创建免费版本的ABP分离模块?

    如何创建免费版本的ABP分离模块? 由于ABP最近官方大改革,我们打开ABP.IO 官方会发现通过Cli创建模板的时候不能创建Trered类型的了 就是创建一个分层的解决方案,其中Web和Http A ...

  9. JVM--解析运行期优化与JIT编译器

    JVM开发团队一直在努力,缩小Java与C/C++语言在运行效率上的差距. 本篇博客,我们来谈一谈JVM(HotSpot)为了提高Java程序的运行效率,都实现了哪些激动人心的技术- 1 JIT编译器 ...

  10. Python | os.path.join() method

    Python中的os.path.join()方法可以连接一个或多个路径组件. 此方法将各个路径组成部分,与每个非空部分路径组成部分恰好用一个目录分隔符(" /")连接起来. 如果要 ...