- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 输入函数: infile.read( char *, int ) 输入文件对象名 数据进入的内存地址 一次读入的字节数 文件 内存 int a[10]; infile.read((char *)a, 10*sizeof(int));//从文件中输入十个整型数到a int i; infile.read((char *)i, sizeof(int));//从文件中输入一个整型数到i 由于二进制文件中的数据不是ASCII码,故不能直接对其读写,必须要通过特定的函数予以转换。 读入 地址要强制转换成字符型 * 输出函数: outfile.write( char *, int ) 输出文件对象名 要输出的数据在内存中的地址 一次输出的字节数 文件 内存 int a[10]={0,1,2,3,4,5,6,7,8,9}; outfile.write((char *)a, 10*sizeof(int));//向文件输出一个整型数组a int i=4; outfile.write((char *)i, sizeof(int));//向文件输出一个整型数i 写出 地址要强制转换成字符型 * 判断二进制文件是否读到文件尾? infile.eof( ) 当到达文件结束位置时,该函数返回一个非零值;否则返回零。 fstream infile; infile.open(“data1.dat”,ios::in|ios::binary); if(!infile) { cout“Open Error!\n”; exit(1); } char str[300]; while(!infile.eof()) infile.read(str, 300); 判断打开是否出错 判断是否读到文件尾 * void main(void ) {char filename1[256],filename2[256]; char buff[4096]; cout ”输入源文件名:”; cin filename1; cout ”输入目的文件名:”; cin filename2; fstream infile,outfile; infile.open(filename1,ios::in | ios::binary); outfile.open(filename2,ios::out | ios::binary); int n; while (!infile.eof()){ //文件不结束,继续循环 infile.read(buff,4096); //一次读4096个字节 n=infile.gcount(); //取实际读的字节数 outfile.write(buff,n); //按实际读的字节数写入文件 } infile.close(); outfile.close(); } * 文件指针 文件内容 文件指针 当一打开文件,文件指针位于文件头,并随着读写字节数的多少顺序移动。 可以利用成员函数随机移动文件指针。 * 随机读取二进制文件 infile.seekg(int);//将文件指针移动到由参数指定的字节处 infile.seekg(100);//将文件指针移动到距离文件头100个字节处 infile.seekg(int, ios::_dir); 移动的字节数 相对位置 infile.seekg(100, ios::beg);//移动到距文件头100个字节 _dir: beg: 文件头 cur: 当前位置 end: 文件尾 infile.seekg(-100, ios::cur);//移动到距当前位置前100个字节 infile.seekg(-500, ios::end);//移动到距文件尾前500个字节 * void main(void ) { ofstream outfile(“data1.dat”,ios::out| ios::binary); int i; for(i=5;i 1000;i+=2 ) outfile.write((char*)i,sizeof(int)); //将奇数写入文件 outfile.close();//关闭文件 ifstream f1(“data.dat”,ios::in| ios::binary); int x; f1.seekg(20*sizeof(int));//将文件指针移到第20个整数的位置 for(i=0;i10;i++) {f1.read((char *)x,sizeof(int)); //依次读出第20~29个奇数到x
您可能关注的文档
- BSS呼叫流程与实际接口分析.ppt
- BSC指令集解析.doc
- Business card.ppt
- BIM介绍及应用学习.ppt
- BZ振荡实验报告夏胜军材52.docx
- B版高中数学课件 选修2-2:第三章 数系的扩充与复数的引入 2.1《复数代数形式的加减法运算及其几何意义》.ppt
- b第七章动物基因工程上.ppt
- b、施工组织设计(中泰)三联.doc
- BIM技术在铁路隧道 设计阶段的应用研究-铁二院.pptx
- BS3000+总部用户手册.doc
- Haier海尔413升风冷变频多门冰箱 BCD-413WGHFD1BSJU1(白)说明书用户手册.pdf
- Siemens西门子工业抽屉式断路器主回路后垂直连接 抽屉式断路器主回路后垂直连接使用手册.pdf
- Samsung三星智能佩戴设备 Galaxy Fit3安全手册.pdf
- Samsung三星滚筒洗衣机 AI神 黑钻热泵洗烘旗舰 WD18DB8995BZSC使用手册.pdf
- Sakura樱花消毒柜 保洁柜消毒柜 SCQ-130D6用户手册说明书.pdf
- Hifiman头领科技ARYA UNVEILED说明书用户手册.pdf
- Siemens西门子工业抽屉式主回路连接前置端子 支撑件 抽屉式主回路连接前置端子 支撑件使用手册.pdf
- Siemens西门子工业中性线的外部电流传感器 中性线的外部电流传感器使用手册.pdf
- Siemens西门子工业电子脱扣单元 电子脱扣单元使用手册.pdf
- Razer雷蛇Playstation 专用雷蛇战锤狂鲨极速版 RZ12-038203 用户指南 (简体中文)说明书用户手册.pdf
文档评论(0)