- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
惠州学院c第13章概要
void main(void) { char filename1[256],filename2[256]; char buf[300]; coutInput source file name: ; cinfilename1; coutInput destination: ; cinfilename2; fstream infile,outfile; infile.open(filename1,ios::in); outfile.open(filename2,ios::out); while(infile.getline(buf,300)) outfilebufendl; outfile.close(); infile.close(); } 输入文件(源文件)名 输出文件(目的文件)名 用函数打开文件 从源文件中读取一行字符,至文件尾停止循环 将该行字符输出至目的文件 关闭文件 * 二进制文件的读写操作 若在文件的打开方式中没有特别说明,打开的文件均为ASCII码文件,若要打开二进制文件,则要特别说明并用特定的读写函数。 fstream infile,outfile; infile.open(“inf1.dat”, ios::in| ios::binary); outfile.open(“outf1.dat”, ios::out| ios::binary); 文件名 输入方式打开 二进制文件 文件名 输出方式打开 二进制文件 * 输入函数: 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);//将文件指针移动到由参数指定的字节处 infi
您可能关注的文档
- 悄悄发生的变化概要.ppt
- 恶性心律失常概要.ppt
- 两种电荷(教案)概要.doc
- 两栖和鸟类生殖和发育概要.ppt
- 两极格局的形成(修改)概要.ppt
- 两学一做示范党课卫生计生委6.29概要.ppt
- 悠悠球基本30招概要.doc
- 悦玛特配送中心收货流程7月5日概要.doc
- 两种电荷教案概要.doc
- 两种电荷(精)概要.ppt
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)