- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++笔记 第十三天 2007 年 4 月 9 日
1、数据 内存中 变量
磁盘上 文件
2、把数据从其他的设备搬到内存中 --- 输入 --- 读把内存中的数据放到其他设备中 --- 输出 --- 写
3、流
物质的定向移动,输入输出流中是数据的定向移动输入流的源头 : 文件 目的地:内存
输出流的源头 : 内存 目的地:文件
4、标准输出设备 --- 显示器标准输入设备 --- 键盘
键盘 --- 内存 --- 显示器
| |
输入操作 输出操作
输入输出流 : 内存与磁盘之间,内存与标准输入输出设备之间的
5、cout
源 :变量
目的地 :显示器
cin
键盘
内存中某一变量
6、标准输入流 cin istream 的一个对象标准输出流 cout ostream 的一个对象
标准错误流 cerr 目的地都是屏幕,用cout 替代
7、cin
是一个带有缓冲的标准的输入对象,默认输入设备是键盘
: 自动校验数据类型
遇到回车才会开始读数据,遇到空格就结束,只能读一个单词
流是数据的定向移动,被读走的数据就消失,没有读走的数据会一直留在流中,直到流的消失,数据也跟着消失
流中有数据,就会阻塞,等待读取 --- 所有输入方法的特性
为什么 可以连续使用? 因为返回就是istream 对象本身的引用注意 : 不读回车,不读空格
get(): 每次 读一个字符。返回一个整数,实际上是读到字符的ASCII 码把回车,空格都当作普通字符读出来
get(char):把读到的内容存到参数中
cin.get(arr[0]).get(arr[1]); //get(char)返回 cin 本身,可以连
续使用
getline(str,256) : 读取一行,包括空格
清除错误,继续工作
对于回车,只读走,不保存
会读取数组长度减 1 个字符,最后一个放\0
输入数据超过给定的空间 (1)截断数据,剩下的数据还在流里
(2)设置一个错误标记,调用 cin.clear(),
#include iostream using namespace std;
getline 能正常工作从流中清除
int main(){
int age;
char name[20] ;
cout enter your age ; cin age;
cin.get(); // 读取流中残 余的回 车, 以便
// cin.ignore(20,\n); //忽略 20 个字符或者碰到回车, cout enter your name ;
cin.getline(name,20);
cout your age is : age endl; cout your name is : name endl;
}
read(char*,int) char*是存结果的地址,int 是读的长度,并且不能比前面的数组的空间大
补齐\0以免乱码
读满为止 ,特殊字符也当做普通字符处理超出的部分仍然存在流里面
只要数据没读满,一直阻塞
不会自动补\0 --- 传参数的时候,数组长度传减 1 的长度,
所有输入流的共同特征:只要没数据就阻塞
读不完的就留在流里
cin.ignore(255,\n) 忽略 255 个字符或者遇到\n,如果在前 255 个字符中出现\n,则就忽略到\n之前的字符
peek() 查看流里的第一个字符是什么只察看,不读走
putback() 向流中插入字符,前提必须有空位的时候
必须与 get()一起使用,用 get()取出一个字符,才能用 putback()插入
一个字符
cin.fail()判断是否出现错误标志,一切正常返回false
当用 cin 读取的数据类型出现错误的时候,这是一种不可恢复的错误,用cin.clear()是
不能清除错误标记的
在键盘上读取,用 getline()可以确保输入流的正常形成,读取后采取强制转换类型得到自己需要的数据
8、ifstream
需要#include fstream头文件
ifstream ifs(test.txt); //创建一个 ifstream 的对象,打开文件,给构造函数传如一个参数,就是文要打开的文件名
//文件的在当前目录下找,也可以用相对路径或绝对路径找文件在打开文件之后,立即判断打开文件是否成功
if( ifs.fail() ){
cout Cant open test endl; return 0;
}
if( ! ifs ){ //也可以这样判断文件打开是否出错cout Cant open test endl;
return 0;
}
在文件结束的时候都会有EOF标志,作为文件结束的标志符可以用判断是否读到EOF,来判断时候读到文件尾了if(ifs.eof()){
brea
您可能关注的文档
最近下载
- 【期货市场技术分析】完整版——约翰.墨菲.doc VIP
- 秋季养生ppt课件.pptx
- 2023年北京电影学院导演专业真题.docx
- 课程设计-基于systemview的2ask信号调制与解调 .pdf VIP
- 2023年北京电影学院部分专业历届校考真题汇编.pdf VIP
- 絮凝剂对MBR活性污泥理化性质的影响研究.pdf VIP
- 2026年高考作文素材积累之九三阅兵:这一刻,与祖国同频共振.docx VIP
- 2025年辽宁省初中学业水平考试英语模拟试卷试题(含答案).pdf VIP
- 2025年辽宁省大连市中考英语模拟试卷.docx VIP
- 2025年中考英语冲刺模拟试卷-辽宁地区-学生版.pdf VIP
文档评论(0)