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是不同的类型

  • 相关阅读:
    Redis基础-基本数据类型
    C#特性
    C#反射
    Json序列化
    动态添加文本框并获取文本框的值
    iframe中镶嵌html页,并获取html页中的方法
    获取url中的参数
    发送邮件
    数据导入Excel表格
    处理xml模块、configparser模块、hashlib模块、subprocess模块
  • 原文地址:https://www.cnblogs.com/immjc/p/8028247.html
Copyright © 2011-2022 走看看