《C++文件IO操作.ppt》由会员分享,可在线阅读,更多相关《C++文件IO操作.ppt(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、文件文件IO1.打开文件打开文件ofstream/以写方式打开=理解ofstream 意为将数据输出到文本上,所以为写ifstream/以读方式打开=理解ifstream 意为将数据从文本中读进来,所以为读void open(const char*filename,int mode,int access);ofstream的构造函数和open参数一致;所以可以使用如下方式打开文件:ofstream ofs(const char*filename,int mode,int access);可以以此方式打开文件ofstream ofs(a.txt“,ios:binary);/以写和二进制文件的方式
2、打开文件a.txt,注意注意:如果文件名是string类型定义的,需要使用str_c()将string类型转换为const char*类型文件文件IO2.关关闭文件文件ifs.close();ofs.close();a.文本文件的文本文件的读写写 使用插入其 从文件输入(读,ifstream)file2i/从文件中读取一个整形数据放入i中b.二二进制文件的制文件的读写写 字符的字符的读写写 :使用get(),put();省略 数据数据块的的读写写:read(unsigned char*buffer,int num);/从文件中读取num个字符到buffer指向的缓存中 write(const
3、unsigned char*buffer,int num);/将buffer指向的缓存中的前num个字符写入到文件中 注意:注意:缓存的类型为unsigned char*有时候需要类型转换3.文件的文件的读写写文件文件IO如果到达文件的结尾,eof()函数返回非0值,如果没有到达文件的结尾,eof()函数返回 0,如if(ifs.eof()cout 到达文件的结尾 endl;注意:eof()存在打印两次最后一个字符的情况,详情见例题ifstream&seekg(offset,seek,dir orign);ifs.seekg(1234,ios:cur);把文件的读指针从当前位置向后移动1234个字符个字节 ofs.seekp(1234,ios:beg);把文件的写指针从文件的开始位置向后移动1234个字节4.文件文件结尾尾eof5.文件的定位文件的定位文件文件IO输出出结果:果:0,1,2,3,4,5,6,7,8,9,9文件文件IOeof()读取到9之后,指针继续进入文件读取,然后再判断是否为文件的末尾,所以最后一个字符会被cout两次,但是不是写两次(多进入一次循环)