C 风格字符串、string 类要点总结
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 类要点总结的更多相关文章
- Java基础——数组应用之字符串String类
字符串String的使用 Java字符串就是Unicode字符序列,例如串“Java”就是4个Unicode字符J,a,v,a组成的. Java中没有内置的字符串类型,而是在标准Java类库中提供了一 ...
- 字符串String类
1. String类是一个密封类.用关键字sealed修饰: 2. 字符串的两个特性: ·不可变性:string类型变量,一旦声明就表明它是不会被改变的.因此,string中的方法对strin ...
- Java入门篇(五)——Java的字符串/String类
前面在举例时有出现过String的例子,当时肯定有一部分朋友不知道这个是做什么用的.其实String类是Java中一个比较特殊的类,字符串即String类,它不是Java的基本数据类型之一,但可以像基 ...
- Java入门篇(五)——字符串/String类
前面在举例时有出现过String的例子,当时肯定有一部分朋友不知道这个是做什么用的.其实String类是Java中一个比较特殊的类,字符串即String类,它不是Java的基本数据类型之一,但可以像基 ...
- [Java初探04]__字符串(String类)相关
前言 接下来将暂时将重心偏移向实际操作,不在将大量时间花费在详细的知识点整理上,将会简略知识总结笔记的记录,加强实际练习的时间,实例练习篇也不再同步进行,我会将部分我觉得重要的源码更新在每节知识点后面 ...
- [Swift]字符串(String类、NSString类)常用操作
NS是Cocoa类对象类型的前缀,来源于乔布斯建立的另一家公司--NeXTNSString的使用方法,和Swift语言中的String有很多相似之处. 1.字符串的定义String类 var str1 ...
- Java字符串String类操作方法详细整理
关于String类的基本操作,可分为以下几类: 1.基本操作方法 2.字符串比较 3.字符串与其他数据类型之间的转换 4.字符与字符串的查找 5.字符串的截取与拆分 6.字符串的替换与修改 我觉得在整 ...
- java常用类与包装类--常用类字符串String类、StringBuffer类、Stringbuilder类
1.String类 1.1String类的概念和储存结构: (1)字符串是一个比较特殊的对象,可以使用new,也可以不使用new来创建字符串对象 String s1 = new String(&quo ...
- 20140902 字符串拷贝函数 右旋转字符串 string类的编写
1.strncpy字符串拷贝函数 //strncpy的程序 #include<stdio.h> #include<assert.h> char *strncpy1(char * ...
随机推荐
- 如何抓取微信小程序的源码?
一.引言: 在工作中我们会想把别人的代码直接拿过来进行参考,当然这个更多的是前端代码的进行获取. 那么微信小程序的代码怎么样获取呢? 参考 https://blog.csdn.net/qq_4113 ...
- Windbg命令的语法规则系列(二)
二.字符串通配符语法 一些调试器命令具有接受各种通配符的字符串参数.这些类型的参数支持以下语法功能: 星号(*)表示零个或多个字符. 问号(?)表示任何单个字符. 包含字符列表的括号([])表示列表中 ...
- Lightning Web Components html_templates(三)
Lightning Web Components 强大之处在于模版系统,使用了虚拟dom 进行智能高效的组件渲染. 使用简单语法以声明方式将组件的模板绑定到组件的JavaScript类中的数据 数据绑 ...
- P2624 [HNOI2008]明明的烦恼
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #inclu ...
- THUWC2020 划船记
PS:THUWC2020在2019年 Day 1 考场外的太懒了不写了. 三题题目大意: T1: T2: 给定一个\(n(\leq 10^5)\)个结点的有向图,每条边有个limit,表示经过这条边l ...
- 桥接:JS调用安卓方法报错Uncaught Error: Error calling method on NPObject
说一说自己粗心踩到的一个不算坑的坑: 项目是安卓webview嵌入SPA单页应用页面,涉及到JS调用原生安卓方法,但就是在调用安卓方法时死活一直报错xxx NPObject一堆错误.写了一个测试页面 ...
- JS实现Base64编码、解码,即window.atob,window.btoa功能
window.atob(),window.btoa()方法可以对字符串精选base64编码和解码,但是有些环境比如nuxt的服务端环境没法使用window,所以需要自己实现一个base64的编码解码功 ...
- 【00NOIP普及组】计算器的改良(信息学奥赛一本通 1910)(洛谷 1022)
[题目描述] NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能.实验室将这个任务交给了一个刚进入的新手ZL先 ...
- mysql 字符类以及重复元字符
字符类 [:alnum:]=[a-zA-Z0-] [:alpha:]=[a-zA-Z] [:digit:]=[-] [:lower:]=[a-z] [:upper:]=[A-Z] [:xdigit:] ...
- (一)Cisco DHCP Snooping原理(转载)
采用DHCP服务的常见问题架设DHCP服务器可以为客户端自动分配IP地址.掩码.默认网关.DNS服务器等网络参数,简化了网络配置,提高了管理效率.但在DHCP服务的管理上存在一些问题,常见的有: ●D ...