- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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
您可能关注的文档
- AutoCAD2012破解图解安装教程.docx
- AutoCAD2012图文安装教程.docx
- AutoCAD2014简体中文版安装步骤.docx
- AutoCAD超级技巧5则分析和总结.docx
- AutoCAD的二次开发分析和总结.docx
- AutoCAD高级培训分析和总结.docx
- AutoCAD快截键分析和总结.docx
- AutoCAD使用的50个问答.docx
- AutoCAD文字指定曲线路径.docx
- AUTOCAD制图键盘快捷方式大全.docx
- 初中历史人物评析与适合学生历史素养的教育模式探讨教学研究课题报告.docx
- 金融行业数据安全保护合同.doc
- 初中数学几何证明与推理能力培养策略分析教学研究课题报告.docx
- 高中化学课程的跨学科整合与实践探索教学研究课题报告.docx
- 初中数学课堂中亲社会行为培养的情境教学策略教学研究课题报告.docx
- 初中美术实践教学对学生美术表现能力的培养研究教学研究课题报告[001].docx
- 小学科学揭开电的神秘面纱教学研究课题报告.docx
- 初中英语国际音标教学对学生发音纠正的实践研究教学研究课题报告.docx
- 2025至2030年稻螟清项目投资价值分析报告.docx
- 三硼酸锂(LBO)晶体项目风险识别与评估综合报告.docx
文档评论(0)