c++ 文件操作和异常

上传人:豆浆 文档编号:24799597 上传时间:2017-12-07 格式:PPT 页数:30 大小:309.50KB
返回 下载 相关 举报
c++ 文件操作和异常_第1页
第1页 / 共30页
c++ 文件操作和异常_第2页
第2页 / 共30页
c++ 文件操作和异常_第3页
第3页 / 共30页
c++ 文件操作和异常_第4页
第4页 / 共30页
c++ 文件操作和异常_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《c++ 文件操作和异常》由会员分享,可在线阅读,更多相关《c++ 文件操作和异常(30页珍藏版)》请在金锄头文库上搜索。

1、文件操作和异常,第六章,回顾,输出流插入操作符 cin.get() cin.getline()输入操纵符,目标,文件输入文件输出异常处理,文件输入/输出,从文件读取和写入文件的过程获得流是使用文件的先决条件添加头文件 fstream.h两个基本类ifstream 读取文件ofstream 写入文件,文件输入/输出相关流类库,文件相关流,流是一组字符或数据流的源或目的每个流都和一个特定的类相关ios类是流类层次结构的虚拟基类两种流输出流(允许写入或存储字符)输入流(允许读取或提取字符)三个流类ifstream类用于文件输出(读取到内存)ofstream类用于文件输入(从内存写到文件)fstrea

2、m类既可以读又可以写,文件操作的基本步骤,获得流,在创建流的时候应该将流和文件相关。使用流提取和流插入的符号 进行操作文件操作可以实现读取和写入字节/二进制数据块监测文件结尾输入流可以忽略字符支持随机访问文件流和控制台流是等效的,可以重用插入函数和提取函数,文件输出获得流,打开文件方式一Ofstream outfile(“temp.txt”);创建了一个ofstream类的对象Temp.txt是要写入的文件如果文件存在就删除现有文件如果文件不存在,就创造一个新文件还可以有其他的处理方式打开文件方式二ofstream OpenFile;OpenFile.open(“cpp-home.txt”);

3、,文件输出获得流,void main() char a10,b10;int num;/ofstream outfile(“temp.txt”); /等效于下面2行。、/ofstream就是系统定义好的一个类,outfile是自定义的一个对象ofstream outfile;outfile.open(temp.txt);outfile.write(aaa,strlen(aaa); / 效果等同下面一句outfile aaa 33; /加上 才能分开输入分开输出outfile.close();,文件输出示例,#include void main()char *name = QWERTY POIUY

4、T;int age = 49;float salary = 600.123f;ofstream fout (“TEST.TXT”);/或者c:test.txtfout 此行写入了 TEST.TXT 中n; fout name age salary; fout.close(); ,文件输出其他示例,ofstream 从iostrearn 类派生且所有iostream 操作都可以应用到一个ofstream 类对象上例如char ch = ;ofstream outFile (a.txt);outFile.put( 1 ).put( ) ).put( ch );outFile 1 + 1 = (1

5、+ 1) ) 读取来自该对象的输入ifstream fin(“temp.txt”);创建了一个ifstream类的对象,打开test.txt进行读取,文件输入示例(1),#include void main ()ifstream fin (“TEST.TXT”); /读取此文件的信息char line 100;char name 50;int age;float salary;fin line ;fin name age salary;cout line endl;cout name age salary str;cout str endl;File.close();,随机访问 两个管理读写位

6、置的指针,get和put指针分别指定读和写操作的当前位置get :从设备到内存,称之为读,管理输入的位置put :从内存到设备,称之为写,管理输出的位置每次执行输入或输出操作时,这两个指针都按一定顺序自动移动,随机访问 两对管理指针的方法,seekg( )和tellg( )函数可用来控制get指针seekp( )和tellp( )函数对put指针进行类似的操作seekg( ) 和seekp( ),用来在输入输出的时候随机定位使用tellg( )和tellp( )函数在文件中查找get和put指针的当前位置,随机访问示例Seekg()和tellp(),Seekg()的示例seekg( )使用两个

7、参数要移动的字节数文件中重定位指针时的参考位置Ifstream fin;fin.seekg(10,ios:beg);/get指针在离文件头10个字节的位置Ios:beg文件的开头Ios:cur文件指针的当前位置Ios:end文件的结尾tellg()的示例Ofstream fout(“text.txt”,ios:ate);Coutfout.tellp(); /打印写指针的位置,二进制访问示例,#include void main()fstream File(test_file.txt,ios:out | ios:in | ios:binary);char ch;ch=o;char ch2;Fil

8、e.put(ch); / 将ch的内容写入文件File.seekg(ios:beg); / 定位至文件首部File.get(ch2); / 读出一个字符cout ch2 endl; / 将其显示在屏幕上File.close();,tellg()函数示例,#include void main()/ 假如我们已经在test_file.txt中存有“Hello”的内容ifstream File(test.txt); char arr10; File.read(arr,7); / 这里将返回7arr7=0;coutarr;cout File.tellg() age; if (age 100 | age 1) throw 年龄无效!; cout throw语句之后 endl; catch (char *msg) cout 错误! msg endl; cout catch处理程序之后 age;if (age100 | age1)throw AgeException();catch(AgeException e)coutread(地址,读的大小)write(地址,写的大小)seek 和 tell异常处理的基本方法trycatch(),

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号