1. C风格字符串

1.1 其它

  • 头文件<cstring>
  • 特殊性质:C风格字符串以空字符\0结尾

1.2 读取一行的区别

1.2.1 cin.getline(array1,n,char)
  • 参数1:存入的数组名字;参数2:要读取的字符数;参数3:可选参数,用所输入的char字符替代\n作为读取结束标记,并把后续可能遇到的\n作为常规字符读取。
  • 功能:读到换行符后边结束,并把'\n'替换为'\0',把读取到的字符串储存到name中
  • 遇到文件结尾设置eofbit,遇到流被破坏(如设备故障)时设置badbit
  • 遇到空行,不会设置failbit,不会退出while循环。因为getline()仍然抽取换行符,虽然不会储存它。如果希望getline()在遇到空行时终止循环,编写如下代码,e.g.char temp[80];while(cin.getline(temp,80) && temp[0]!='\0'); // terminates on empty line
  • 没有读取到任何字符,但换行符被视为读取了一个字符,设置failbit
  • 超过函数指定的最大字符,把余下的字符留在输入队列中,使用setstate()设置failbit,关闭后面的输入。
1.2.2 cin.get(array1,n,char)
  • 参数1:存入的数组名字;参数2:要读取的字符数;参数3:可选参数,用所输入的char字符替代'\n'作为读取结束标记,并把后续可能遇到的'\n'作为常规字符读取。
  • 功能读到换行符之前结束,把换行符留在输入队列中,并在结尾加上'\0',把读取到的字符串储存到array1中。
  • 遇到文件结尾设置eofbit,遇到流被破坏(如设备故障)时设置badbit
  • 可以用下面的命令来恢复输入:cin.clear()。char temp[80];while(cin.get(temp,80)); // terminates on empty line
  • 超过函数指定的最大字符,把余下的字符留在输入队列中,不设置failbit。可用peek()查看下一个输入字符,来判断到底是到了文件尾停止,还是输入字符过多引起的。
1.2.3 ch=cin.get()
  • 读取下一个字符,即使是空字符或者换行符等;
  • 将函数返回值赋给ch;
  • 函数的返回值是字符编码(int 值);
  • 到达文件结尾的返回值EOF(EOF:头文件iostream提供的一个符号常量);
  • 到达文件尾不会给ch赋值,因为到了文件尾,就没有值了。(Windows命令提示符模式,按下Crtl+Z模拟文件尾)
1.2.4 cin.get(ch)
  • 读取下一个字符,即使是空字符或者换行符等
  • 赋给参数ch
  • 指向istream对象的引用
  • 到达文件结尾的返回值转换为false
  • 到达文件尾不会给ch赋值,因为到了文件尾,就没有值了。(Windows命令提示符模式,按下Crtl+Z模拟文件尾)
1.2.5 cin.ignore(int,char)
  • 第一个参数为数字,指定要读取的最大字符数;第二个参数是字符,用作输入分界符。
  • 函数原型为:istream& ignore(int=1,char=EOF),默认参数EOF导致ignore()读取指定数目的字符或读到文件尾。
  • 功能:读取并丢弃接下来的n个字符或直到到达第一个分解符。
  • 函数返回调用对象。
1.2.6 cin.peek():返回输入中的下一个字符,但不抽取输入流中的字符。
1.2.7 cin.gcount():返回最后一个非格式化抽取方法读取的字符数。
1.2.8 cin.putback():将一个字符插入到输入字符串中,被插入的字符将是下一条输入语句读取的第一个字符。返回

1.3 函数


未完 ......

点击访问原文(进入后根据右侧标签,快速定位到本文)

C 风格字符串、string 类要点总结的更多相关文章

  1. Java基础——数组应用之字符串String类

    字符串String的使用 Java字符串就是Unicode字符序列,例如串“Java”就是4个Unicode字符J,a,v,a组成的. Java中没有内置的字符串类型,而是在标准Java类库中提供了一 ...

  2. 字符串String类

    1. String类是一个密封类.用关键字sealed修饰: 2. 字符串的两个特性:     ·不可变性:string类型变量,一旦声明就表明它是不会被改变的.因此,string中的方法对strin ...

  3. Java入门篇(五)——Java的字符串/String类

    前面在举例时有出现过String的例子,当时肯定有一部分朋友不知道这个是做什么用的.其实String类是Java中一个比较特殊的类,字符串即String类,它不是Java的基本数据类型之一,但可以像基 ...

  4. Java入门篇(五)——字符串/String类

    前面在举例时有出现过String的例子,当时肯定有一部分朋友不知道这个是做什么用的.其实String类是Java中一个比较特殊的类,字符串即String类,它不是Java的基本数据类型之一,但可以像基 ...

  5. [Java初探04]__字符串(String类)相关

    前言 接下来将暂时将重心偏移向实际操作,不在将大量时间花费在详细的知识点整理上,将会简略知识总结笔记的记录,加强实际练习的时间,实例练习篇也不再同步进行,我会将部分我觉得重要的源码更新在每节知识点后面 ...

  6. [Swift]字符串(String类、NSString类)常用操作

    NS是Cocoa类对象类型的前缀,来源于乔布斯建立的另一家公司--NeXTNSString的使用方法,和Swift语言中的String有很多相似之处. 1.字符串的定义String类 var str1 ...

  7. Java字符串String类操作方法详细整理

    关于String类的基本操作,可分为以下几类: 1.基本操作方法 2.字符串比较 3.字符串与其他数据类型之间的转换 4.字符与字符串的查找 5.字符串的截取与拆分 6.字符串的替换与修改 我觉得在整 ...

  8. java常用类与包装类--常用类字符串String类、StringBuffer类、Stringbuilder类

    1.String类 1.1String类的概念和储存结构: (1)字符串是一个比较特殊的对象,可以使用new,也可以不使用new来创建字符串对象 String s1 = new String(&quo ...

  9. 20140902 字符串拷贝函数 右旋转字符串 string类的编写

    1.strncpy字符串拷贝函数 //strncpy的程序 #include<stdio.h> #include<assert.h> char *strncpy1(char * ...

随机推荐

  1. MongoDB 4.2 的主要亮点(转载)

    在6月份召开的MongoDB全球用户大会上, MongoDB官宣了MongoDB Server 4.2,在经过100,000多个运行实例的测试后,MongoDB 4.2表现强劲.现在4.2版本正式上线 ...

  2. let

    let a=2+2 #+ - * / % ** 都支持 支持类C的计算方式 let i++ let i-- let i+=10 let i-=10 let i*=10 let i/=10 let i% ...

  3. C博客作业--我的第一篇博客作业

    1你对网络专业或计算机专业了解是怎样的 由于从小就与电脑打交道,对于各类软件的生产非常感兴趣,所以在高三开学查询有什么专业的时候,就打算报与计算机有关的专业.我对计算机专业感到非常神奇,毕竟只是看似简 ...

  4. Python 元类使用讲解

    我要一大群的类都具有一种特点,我怎么给他们加上呢?模板嘛,我从这个模板创建一群类不就OK了?那就需要元类了. 定义一个元类(就是一个类的模板!莫多想,还要记住这是类级别的,不是对象级别的!):代码如下 ...

  5. 2019 SDN第二次上机作业

    2019 SDN第二次上机作业 1. 利用mininet创建如下拓扑,要求拓扑支持OpenFlow 1.3协议,主机名.交换机名以及端口对应正确,请给出拓扑Mininet执行结果,展示端口连接情况 创 ...

  6. Java-JUC(十三):现在有两个线程同时操作一个整数I,做自增操作,如何实现I的线程安全性?

    问题分析:正如i在多线程中如果想实现i的多线程操作,必须i要使用volitle来保证其内存可见性,但是i++自增操作不具备原子性操作,因此需要对i++这段代码确保其原子性操作即可. 方案1: 使用Re ...

  7. PostgreSQL中的The Oversized-Attribute Storage Technique(TOAST:超大属性存储技术)

    PostgreSQL使用固定的页面大小(通常为8kB),并且不允许元组跨越多个页面.因此,不可能直接存储非常大的字段值.为了克服这种限制,将大字段值压缩和/或分解成多个物理行.这对用户来说是透明的,对 ...

  8. Python3基础 tuple 使用格式化字符串进行输出

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  9. Shell流程控制语句for

    for语法格式: for 变量 in 参数列表 do 命令 done 或者 for 变量 in 参数列表 ; do 命令 done for语句流程控制图: 实例: [root@youxi1 ~]# v ...

  10. PAT 甲级 1077 Kuchiguse (20 分)(简单,找最大相同后缀)

    1077 Kuchiguse (20 分)   The Japanese language is notorious for its sentence ending particles. Person ...