惠州学院c++第13章概要.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档