string

c++ STL的浅谈

    c++和c语言有很多区别,其中我觉得比较大的就是STL,STL中的很多东西都是先人给我们提前写好的,我们只要拿来用就行了。

    STL最常用的有这些

    1:string

    2:vector

    3:set

    4:list

    5:map

1:string

1:如何定义字符串

    用string初始化字符串分两类:用“=”号就是拷贝初始化,否则就是直接初始化。//不做要求

 

 

#include<iostream>
#include<string>
#include<cstring >
using namespace std;

int main()
{
    string s1(10,'a');//拷贝初始化
    cout<<s4<<endl;        
    string s2 = string(6, 'c'); 
    cout<<s7;
}

 

 

那就是用getline来获取一整行内容。

string str;
getline(cin, str);
cout << str << endl;
 

当把string对象和字符面值及字符串面值混在一条语句中使用时,必须确保+的两侧的运算对象至少有一个是string

string s1 = s2 + ", "; //正确
string s3 = "s " + ", "; //错误
string s4 = "hello" + ", " + s1; //错误
string s5 = s1 + "hello " + ", "; //正确  

 

还有个find函数特别好用

a.find(b,0)字符串b在a的位置

#include <iostream> 
#include <cmath>
#include <cstdio>
#include <cstring>
#include <string>         
#include <map>      
#include <iomanip>
#include <algorithm> 
#include <queue>     
#include <stack>               
#include <set>  
#include <vector>    
#define ll long long
#define MAX INT_MAX
#define MIN INT_MIN
using namespace std;
string a,b;
int ans,k;
int main()
{
   cin>>a>>b;
   while(1)
   {
      if(a.find(b,k)!=string::npos)
      {
         ans++;
         k=a.find(b,k)+2;
      }
      else
      {
         if(ans!=0)
         {
            cout<<ans;

         }
         else
         {
            cout<<"mei you";
         }
         break;

      }
   }
   //cout<<a.find("ha",0);
}

 

 

 

 

posted @ 2019-01-28 11:18  阿斯水生产线  阅读(194)  评论(0编辑  收藏  举报