这几周经过liners大佬的指导,发现自己的代码实现能力确实太过于垃圾,所以根据他的指示,我应该去多多练习一下Dark模拟,但是最近刚刚入手Dark模拟的我感到非常的吃力,所以本人今天写博客一篇来讲述一下一些在做Dark模拟之前我们先要学会的一些操作。要想学好Dark模拟,字符串这部分内容是少不了的。

字符串的输入:

如何使用getline读入字符串(char)

这里我们主要讲一讲比char类型更强大的string类型的用法

首先我们要学习string类型还是必须了解他的输入。

我们这里输入采用getline() 具体实现方法如下:

#include<bits/stdc++.h>
using namespace std;
string s1;
int main()
{
getline(cin,s1);
cout<<s1;
return 0;
}

然后getline也支持第三个关键字,我们在要读入string类型后再加一个关键字,就可以以该关键字为结点关闭读入。

eg:

#include<bits/stdc++.h>
using namespace std;
string s1;
int main()
{
getline(cin,s1,'E');
cout<<s1;
return 0;
}

然后下面再来介绍一下基本的string类型的构造函数:

**1、直接构造 **

eg:string s1("Lottery Winner");

2、用某字符进行填充

eg:string s2(20,'s');
运行结果:ssssssssssssssssssss

3、从另一字符串的第n位往后进行复制

eg:	string s33(s1,8);或者string s3(s1);
运行结果:Winner和Lottery Winner

4、巧用=

我们可以使用+=把两个字符串合在一起
例如:
s1="Lottery";
s2=" Winner";
s3=s1+s2;
所以s3=Lottery Winner

5、巧用+=

其实和=的功能非常的相似,这里就不在赘述

6、字符串类型复制转char类型

//caition:不要和上面的弄混了!!!!
char cs[]="12345";
string s7(cs,3);//复制字符串cs的前3个字符到s当中
cout<<s7;

最后来一个总的:

#include<bits/stdc++.h>
using namespace std;
int main()
{
cout<<"string 类型的常见构造函数"<<endl;
string s1("Lottery Winner");
cout<<s1<<endl;
string s2(20,'S');
cout<<s2<<endl;
string s3(s1);
string s33(s1,8);
cout<<s3<<endl;
cout<<s33<<endl;
string s4;
s4=s33+s2;
cout<<s4<<endl;
//caition:不要和上面的弄混了!!!!
char cs[]="12345";
string s7(cs,3);//复制字符串cs的前3个字符到s当中
cout<<s7;
}

运行结果如下:

下面在歇一歇关于substr的用法,因为比较简单,我在这里就不用多说了,相信大家看一下几行的代码一下子就理解了:

代码如下:

#include<bits/stdc++.h>
using namespace std;
int main()
{
cout<<"substr的用法"<<endl;
string s1="abcdefg";//记住标号从0开始
string s2=s1.substr(1,5);//把标号从1~5复制给s2
cout<<s2<<endl;
string s3=s1.substr(4);//从标号4开始往后把s2从标号4开始的后缀存入s3
cout<<s3<<endl;
return 0;
}

运行结果如下:

相信大家应该都懂了!

最新文章

  1. iOS 系统架构
  2. JS字符串转换成json对象。。。。
  3. Android -----listView的属性大全
  4. C++程序设计(二)
  5. DedeCMSV57数据库结构文档
  6. dll显式加载与隐式加载
  7. Http协议网络对时工具
  8. 分享一个Redis帮助类
  9. LR11 scan correlation 卡死解决方案
  10. MySQL字符串相关函数学习二
  11. 04_Javascript初步第二天(上)
  12. [BZOJ1207] [HNOI2004] 打鼹鼠 (dp)
  13. js身份证正则
  14. hbase 快速开发
  15. 014-配置SSH免密钥登录
  16. vs2012团队连接(Team Foundation Server)连接不上的怎么办?
  17. [转]Nginx负载均衡原理初解
  18. Python20-Day05
  19. k-Nearest Neighbor algorithm 思想
  20. win7电脑遇到端口被占用的情况该如何查看并将其关闭

热门文章

  1. json 文件注释
  2. 图解 Git 基本命令 merge 和 rebase
  3. JavaWeb网上图书商城完整项目--day02-14.登录功能的login页面处理
  4. 33_栈程序演示.swf
  5. LQR算法如何跟随变化的期望状态
  6. Excel表格中第一个输入的零不显示怎么办?
  7. jQuery动态生成&lt;select&gt;下拉框
  8. 问题: No module named _gexf 解决方法
  9. sql server 分组查询结合日期模糊查询
  10. nginx配置奇怪问题记录