zoukankan      html  css  js  c++  java
  • 为Dark模拟做出的一些微小的贡献

    这几周经过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;
    }
    

    运行结果如下:

    相信大家应该都懂了!

  • 相关阅读:
    nginx 禁止访问某个目录
    ssh 无法链接的解决思路
    linux 时间修改(同步到时间服务器)
    BitNami Gitlab的重启问题
    gitlab push时报错
    VirtualBox 安装centos后无法上网
    VirtualBox 创建64位系统的问题
    NOIP2010 题解
    NOIP2011 题解
    NOIP2012 题解
  • 原文地址:https://www.cnblogs.com/mudrobot/p/13328361.html
Copyright © 2011-2022 走看看