第2讲 输入输出(2+2)new.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2讲输入输出(22)new

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 cout x ‘\t’; } f1.close(); } 以读的方式打开原文件 练习 1、以“A+B”为例,练习各类输入输出。 2、练习文件的输入输出。 例题:字符读写 从键盘输入一些字符,逐个把它们送到磁盘上去,直到用户输入一个“#”为止。 解题思路: 用fgetc函数从键盘逐个输入字符,然后用fputc函数写到磁盘文件即可。 #include stdio.h #include stdlib.h int main() { FILE *fp; char ch,filename[10]; printf(请输入所用的文件名:); scanf(%s,filename); if((fp=fopen(filename,“w”))==NULL) { printf(无法打开此文件\n); exit(0); } ch=getchar( ); 接收最后输入的回车符 输入文件名 只写 用exit函数时加 printf(“请输入一个字符串(以#结束):); ch=getchar( ); while(ch!=‘#’) { fputc(ch,fp); putchar(ch); ch=getchar(); } fclose(fp); putchar(10); return 0; } 读写一个字符串 函数名 调用形式 功能 返回值 fgets fgets(str,n,fp) 从fp指向的文件读入长度为(n-1)的字符串,存放到字符数组str中 读成功,返回地址str,失败则返回NULL) fputs fputs(str,fp) str所指向的字符串写到文件指针变量fp所指向的文件中 写成功,返回0;否则返回非0值 fgets()函数说明 fgets函数的函数原型为: char *fgets (char *str, int n, FILE *fp); 其作用是从文件读入一个字符串,调用时可以写成: fgets(str, n, fp); 其中,n是要求得到的字符个数,但实际上只读n-1个字符,然后在最后加一个’\0’字符,这样得到的字符串共有n个字符,把它们放到字符数组str中。 如果在读完n-1个字符之前遇到换行符“\n”或文件结束符EOF,读入即结束,但将所遇到的换行符“\n”也作为一个字符读入。 执行fgets成功,返回str数组首地址,如果一开始就遇到文件尾或读数据错,返回NULL。 fputs()函数说明 fputs函数的函数原型为: int fputs (char *str, FILE *fp); 其作用是将str指向的字符串输出到fp所指向的文件中,调用时可以写成: fputs(″China”,fp); fputs函数中第一个参数可以是字符串常量、字符数组名或字符型指针 字符串末尾的′\0′不输出 输出成功,函数值为0;失败,函数值为EOF 二进制方式读写文件 fread(buffer,size,count,fp); fwrite(buffer,size,count,fp); 其中, buffer:是一个地址 对fread来说,它是用来存放从文件读入的数据的存储区的地址 对fwrite来说,是要把此地址开始的存储区中的数据向文件输出 size:要读写的字节数(每个数据项的大小) count:要读写多少个数据项 fp:FILE类型指针 随机读写文件 对文件进行顺序读写比较容易理解,也容易操作,但有时效率不高。 随机访问不是按数据在文件中的物理位置次序进行读写,而是可以对任何位置上的数据进行访问,显然这种方法比顺序访问效率高得多。 文件位置标记 文件指针 读写当前位置

文档评论(0)

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

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

1亿VIP精品文档

相关文档