zoukankan      html  css  js  c++  java
  • 字符串

    字符串

    字符串是存储在内存的连续字节中的一系列字符。C++处理字符串的方式有两种。第一种来自C语言,常称为C风格字符串。另一种基于string类库。

    1. C-风格字符串

    • C-风格字符串以空字符结尾,空字符被写作 ,其ASCII码为0。
    • 注意区分字符常量和字符串常量。字符串常量(使用双引号)不能与字符常量(使用单引号)互换。字符常量(如‘S’)是字符串编码的简写表示。但 “S”不是字符常量,它表示的是两个字符(字符S和)组成的字符串,“S”实际表示的是字符串所在的内存地址。

    拼接字符串常量

    • C++允许凭借字符串字面值。拼接时不会在被连接的字符串之间添加空格,第二个字符串的第一个字符将紧跟在第一个字符串的最后一个字符(不考虑)后面。第一个字符串中的字符将被第二个字符串的第一个字符取代。

    在数组中使用字符串

    • 标准头文件cstring提供了与字符串相关的一些函数。
    • sizeof()运算符指出整个数组的长度,单位为字节,char占一个字节
    • strlen() 函数返回的是存储在数组中的字符串的长度,而不是数组本身的长度。strlen()只计算可见的字符,而不把空字符计算在内。

    字符串输入

    • cin使用空白(空格、制表符和换行符)来确定字符串的结束位置,这意味着cin在获取字符数组输入时只读取一个单词。读取该单词后,cin将该字符串放到数组中,并自动在结尾添加空字符。

    每次读取一行字符串输入

    • getline()函数读取整行,它使用通过回车键输入的换行符来确定输入结尾。要调用这种方法,可以使用cin.getline()。该函数有两个参数。第一个参数是用来存储输入行的数组的名称,第二个参数是要读取的字符数。如果这个参数是20,则函数最多读取19个字符,余下的空间用于存储自动在结尾处添加的空字符。getline()成员函数在读取指定数目的字符或遇到换行符时停止读取。

    • get(name, 20)遇到遇到换行符后停止输入,并将其留在输入队列中。
      使用不带任何参数的cin.get()调用可读取下一个字符(即使是换行符),因此可以用它来处理换行符,为读取下一行输入做准备。

    • 空行和其他问题。当get()读取空行后将设置失效位(failbit)。这意味着接下来的输入将被阻断,但可以用下面的命令来恢复输入;cin.clear();
      如果输入行包含的字符数比指定的多,则getline()和get()将把余下的字符留在输入队列中,而getline()还会设置失效位,并关闭后面的输入。

    **2. string类简介 **

    • 未被初始化的string对象的长度被自动设置为0。
  • 相关阅读:
    【hdoj_1133】Buy the Ticket(卡特兰数+大数)
    【hdoj_1042】N!(大数)
    【hdoj_1002】A+B Problem ||(大数)
    【hdoj_2566】统计硬币(母函数?)
    【转载】自定义View,有这一篇就够了
    【转载】自定义View学习笔记之详解onMeasure
    【转载】深入剖析自定义View之onMeasure
    【转载】【凯子哥带你学Framework】Activity启动过程全解析
    【转载】【凯子哥带你学Framework】Activity界面显示全解析(下)
    【转载】【凯子哥带你学Framework】Activity界面显示全解析(上)
  • 原文地址:https://www.cnblogs.com/adtxl/p/11477876.html
Copyright © 2011-2022 走看看