zoukankan      html  css  js  c++  java
  • [C++] 标准库类型string

    标准库类型string表示可变长的字符序列

    定义和初始化string对象

    不使用等号为直接初始化,使用等号 为拷贝初始化

    string对象对大小写敏感。

    string s0;
    // 默认初始化,s1是一个空字符串
    string s1(s0);
    // s1是s0的副本,直接初始化,
    string s2 = s0;
    // s2是s1的副本,拷贝初始化
    string s3  = "hiya";
    // 拷贝初始化
    string s4(10, 'c');
    // 直接初始化

    读取string

    cin >> s;

    string对象会忽略空白,从第一个真正的字符开始读起,直到遇到下一个空白为止。

    读取位置数量的string对象

    while (cin >> word);

    遇到文件结束标记或非法输入时结束

    getline读取一整行

    while (getline(cin, line));

    读取内容,直到遇到换行符为止(换行符也被都进来了,但是不被存储)line中不包含换行符。

    size()

    string的size()函数返回string对象的长度,也就是string对象中字符的个数。

    string::size_type类型

    size()函数返回值为size_type类型,这种类型与机器无关,是一个不小于0的值。

    如果n是一个负数,则s.size() < n的结果肯定是true。因为负数n会自动的转换成一个较大的无符号值。

     比较string对象

    相等:string对象相等则要求两个string对象长度相同,所包含字符也全部相同。

    不等:1、长度不等时,如果较短string对象的每个字符都与较长string对象对应位置上的字符相同,则说较短string对象小于较长string对象

    2、如果两个string对应位置不一致,string对象比较的结果是string对象第一个相异字符的比较结果

     两个string相加

    s1 += s2表示把右侧string对象s2的内容追加到左侧string对象s1的后面

    字面值与string相加

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

    string s5 = "Hello" + "World";
    // 错误
    string s6 = s1 + "," + "Word";
    // 正确
    string s7 = "Word" + "," + s1;
    // 错误
    string s6 = (s1 + ",") + "Word";
    string s7 = ("Word" + ",") + s1;

    字符串字面值和string是不同的类型

  • 相关阅读:
    Gin-Go学习笔记六:Gin-Web框架 Api的编写
    Gin-Go学习笔记五:Gin-Web框架 文件的操作
    Gin-Go学习笔记四:Gin-Web框架 文件的上传下载
    Gin-Go学习笔记三:Gin-Web框架 JS分页
    Gin-Go学习笔记二:Gin-Web框架
    Gin-Go学习笔记一:Hello World
    质因数分解
    素数算法
    linux-cento os学习笔记1
    python运行代码出现'ascii' codec can't decode byte 0xb4 in position 11: ordinal not in range(128)
  • 原文地址:https://www.cnblogs.com/immjc/p/8028247.html
Copyright © 2011-2022 走看看