• string 用法


    最开始接触string是因为它可以很方便的查找是不是字串  下面一一讲解

    1.定义:

    string s;   
    cin>>s; 

    或者

    string s="abcdef";

    2.基本用法

       长度 

    s.size();    

       把s2复制到s1中

    strcpy(s1,s2);  

       连接2个字符串

    s1=s1+s2;

       比较字符串  直接用关系运算符  ==   >   <   !=  >=   <=

       获取第一个字符  

    string:const_iterator it=s.begin();   
    count<<*it<<endl;

       获取最后一个字符

    string:const_iterator it=s.end();  
    it--; 
    count<<*it<<endl;

    倒置串

    reserve(s.begin(),s.end());

    查找串(判断s1是不是s的字串)

    s.find(s1);

    截取字符串

    s.substr(a,n);//在s的a位置截取长度为n的字符串

    3.下面重点讲一下find函数

    它可以判断是不是字串  也就是说一个串有没有在另一个串中出现过

    find这个函数找到返回字串的起始位置  找不到返回-1

    #include <algorithm>
    #include <iostream>
    #include <cstring>
    #include <cstdlib>
    #include <cstdio>
    #include <vector>
    #include <queue>
    #include <deque>
    #include <map>
    using namespace std;
    const int MAX=1e5+10;
    typedef long long ll;
    int a[MAX];
    int main()
    {
        string s1,s2;
        cin>>s1>>s2;
        if(s1.find(s2)==-1)
            printf("no
    ");
        else
            printf("yes
    ");
        return 0;
    }
    

    有一个问题find可不可以判断出现过几次呢   正常来说  是没有办法的  但有一个小技巧  可以找完一个将字符串改一下在判断  看代码

    #include <algorithm>
    #include <iostream>
    #include <cstring>
    #include <cstdlib>
    #include <cstdio>
    #include <vector>
    #include <queue>
    #include <deque>
    #include <map>
    using namespace std;
    const int MAX=1e5+10;
    typedef long long ll;
    int a[MAX];
    int main()
    {
        string s,t;
        int ans=0;
        cin>>s>>t;
        while(1)
        {
            int tt=s.find(t);
            if(tt!=-1)
            {
                s[tt]='1';
                ans++;
            }
            else
                break;
        }
        printf("%d",ans);
        return 0;
    }
    

    请看    https://blog.csdn.net/ZCY19990813/article/details/81394713  的第一题

    请看 https://blog.csdn.net/ZCY19990813/article/details/81542308  的第三题

    这篇博客是按自己理解写的   如有问题 欢迎指出

  • 相关阅读:
    2/4 关于 Vue.js 中 this.$nextTick 的个人简单解释
    2/3 初次搭建 Vue 项目遇到的问题汇总
    前端中常见的布局
    如何判断一个变量是否为数组(isArray)
    ubuntu下安装截图工具
    正向代理、反向代理
    javascript中的基本数据类型
    css3 中的渐变
    javascript中的toString()
    ubuntu下面安装nodejs
  • 原文地址:https://www.cnblogs.com/zcy19990813/p/9702713.html
Copyright © 2020-2023  润新知