字符串&字符数组

默认分类 | 2020-02-06 15:21:49 | 阅读 483 次 | 评论(0)
#include<iostream>
#include<string>
#include<cstdio>
#include<cstring>

using namespace std;
int main(){
    /*字符数组掌握:strlen,strcat,strcpy,strstr,strcmp*/

    char c[100]="ZIFUshuzu1",c1[100]="give me five";//字符数组
    //gets(c);//读入一整行直到换行
    //cin>>c;//当没有空格

   
    //1.长度 strlen
    int len_c=strlen(c);;
    cout<<"长度:"<<len_c<<endl;
    //2.赋值
    strcpy(c,c1);//把c1赋值给c
    cout<<"把c1赋值给c:"<<c<<endl;
    //3.合并(连接)
    strcat(c,c1);//c+c1(c1加到c后)
    cout<<"c1加到c后:"<<c<<endl;

   
    /*字符串掌握:size(),length()等*/
    string s,s1;
    s="ZIFUCHUAN1";
    s1="good good study";
    //1.读入一整行(直到换行),包括读入空格
    //    getline(cin,s);
    //2.size() 求字符串的长度,等同于length()函数

    s="12  34";
    cout<<s.size()<<endl;
    //3.s[下标i] 取字符串的某个字符 ,等同于at(下标i)
    s="abcd";
    cout<<s[0]<<s.at(2)<<endl;
    /*
    4.substr(开始位置i,子串长度len);
    取字符串的子串。
    当len超过原字符串的长度时,只取下剩下的。
    提醒:i要在字符串长度内。
    */

    s="abcdef";
    cout<<s.substr(3,2)<<s.substr(3,20)<<endl;
    /*
    5.insert(插入位置i,插入字符串s);
    在字符串第i个位置插入s
    */

    s="abcdef";
    s.insert(2,"+1234");
    cout<<s<<endl;
    /*
    6.erase(开始位置i,删除菜单len);
    输出字符串的第i个位置后的len个字符。
    */

    s="abcdef";
    s.erase(2,3);
    cout<<s<<endl;
    /*
    7.replace(开始位置i,长度len,要换上的字符串ss);
    用字符串ss替换字符串中i开始的长度是len的一段。
    */

    s="abcdef";
    s.replace(2,1,"123");
    cout<<s<<endl;
    /*
    8.find(子串subs)
    查找子串subs第1次出现的位置,没有找到返回string::npos
    find还有一些更强大的形式,比如在某一段
    */

    s="abcdef";
    int i=s.find("cd");
    cout<<i<<endl;
    return 0;
}
文章评论,共0条
游客请输入验证码
浏览2416次
文章分类
文章归档
最新评论