zoukankan      html  css  js  c++  java
  • 小猪猪逆袭成博士之C++基础篇(三)字符串

    小猪猪逆袭成博士之C++基础篇(三)字符串

    String

        写在题外的话:

    非常感谢在我发了第一篇随笔以后有很多人看还评论了,这大概就是一种笔记性质的,也不一定全对,如果不对的地方请指出来让我加以改正。有时候自己心里明白在写的时候说不清楚,有时候不明白的写的时候慢慢就清楚了,还有的是不太明白写也没有写清楚。非常感谢各位能够抽时间看文章并且写评论,有什么理解不对的地方请指出来,喷的有道理我一定会虚心接受的!

     

    字符串类型是我们经常用到的,下面介绍一些平时常用的功能。

    String需要包含的头文件:#include <string>

     

    一、一些基本的操作

    1String 的初始化大概有以下几种:

    string s1;

    cout<<"s1:"<<s1<<endl;

     

    string s2="aaa";

    cout<<"s2:"<<s2<<endl;

     

    string s3(s2);

    cout<<"s3:"<<s3<<endl;

     

    string s4=s3;

    cout<<"s4:"<<s4<<endl;

       

        //string前10个都是b

    string s5(10,'b');

    cout<<"s5:"<<s5<<endl;

     

    string s6("ccc");

    cout<<"s6:"<<s6<<endl;

     

     

     

    2、值得注意的是:如果cin一个字符串,string对象会自动忽略开头的空白,并从第一个真正的字符开始读起,例如我们输入一个“  hello     world;会输出hello

    string s1;

    cin>>s1;

    cout<<s1;

     

     

     

    那么我们想保留这些空格怎么办,用getline语句

    string s1;

    getline(cin,s1);

    cout<<"getline:"<<s1;

     

    这个地方的getline(cin,s1); cin不一定是cin,任何一种输入流都可以。

     

    3、

    s1.empty();//如果s1是空则返回flase,否则true;

    s1.size();//返回字符长度

    这里注意size()返回的是一个正整数,无符号的,所以根据第一章所述,不能跟负数一起操作!!!

    4、判断字符串大小是根据字典顺序的,例如appleboy就是boy大。

    string s1="apple";

    string s2="boy";

    cout<<"size:"<<s1.size()<<endl;

        

    //判断大小

    if(s1>s2)cout<<"s1 is bigger"<<endl;

    else cout<<"s2 is bigger"<<endl;

        

        5、加号两个字符串相接

    s1=s1+s2;

    cout<<s1<<endl;

        

        6、取字符:注意这里第一个字符是0.

    char c=s1[4];

    cout<<"c:"<<c<<endl;

     

    7、一些常用的函数:头文件#include <cctype>

     

    isalnum(c);//判断数字或者字母

    isalpha(c);//判断字母

    iscntrl(c);//控制符

    isdigit(c);//数字

    islower(c);//小写字母

    isupper(c);//大写字母

    isspace(c);//空格

    tolower(c);//大写转小写

    toupper(c);//小写转大写

     

    8、C风格字符串

    简单的说,C风格字符串就是一个char型的数组。我们把这些字符放在数组中,在最后一个字符后面跟一个表示字符串的结束。

    C风格字符串不要想多了,就是一个char型的数组,跟数组的原理相同,并且适用C风格字符串函数:strlen(p)strcmp(p1,p2)strcar(p1,p2)strcpy(p1,p2)等。虽然是这样,但是它本身还是个数组。

    String型可以转化成C风格字符串,用c_str()可以转化。当然了如果能用string型的话stringchar*是方便了许多。





  • 相关阅读:
    三层数据访问层的参数处理
    图片加水印
    网站程序安全策略
    如何在.NET下使用MetaWeBlog API迁移博客
    如何使用NAnt 自动打包DNN模块 之二
    无法转出.cn域名到Godaay.com
    如何避免ASP.NET网页初次加载缓慢
    Teradata Automation Developer 职位
    How to let FIR open a URL when you click an image
    如何使用.NET清除IE的缓存(Temporary Internet Files)
  • 原文地址:https://www.cnblogs.com/Dr-XLJ/p/4625252.html
Copyright © 2011-2022 走看看