- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
说明: (7) 计算机输从ASCII文件读入字符时,遇到回车换行符,系统把它转换为一个换行符,在输出时把换行符转换成为回车和换行两个字符。在用二进制文件时,不进行这种转换,在内存中的数据形式与输出到外部文件中的数据形式完全一致,一一对应。 说明: (8) 程序中可以使用3个标准的流文件:标准输入流、标准输出流、标准出错输出流。 系统已对这3个文件指定了与终端的对应关系 标准输入流stdin是从终端的输入 标准输出流stdout是向终端的输出 标准出错输出流stderr是当程序出错时将出错信息发送到终端 程序开始运行时系统自动打开这3个标准流文件。因此,程序编写者不需要在程序中用fopen函数打开它们。所以以前我们用到的从终端输入或输出到终端都不需要打开终端文件。 10.2.2 用fclose函数关闭数据文件 关闭文件用fclose函数。fclose函数调用的一般形式为 fclose(文件指针); 例如: fclose (fp); 如果不关闭文件将会丢失数据。 10.3 顺序读写数据文件 10.3.1 怎样向文件读写字符 10.3.2 怎样向文件读写一个字符串 10.3.3 用格式化的方式读写文件 10.3.4 用二进制方式向文件读写一组数据 10.3.1 怎样向文件读写字符 函数名 调用形式 功能 返回值 fgetc fgetc(fp) 从fp指向的文件读入一个字符 读成功,带回所读的字符,失败则返回文件结束标志EOF(即-1) fputc fputc(ch,fp) 把字符ch写到文件指针变量fp所指向的文件中 写成功,返回值就是输出的字符;输出失败,则返回EOF(即-1) 读写一个字符的函数 10.3.2 怎样向文件读写一个字符串 读写一个字符串的函数 函数名 调用形式 功能 返回值 fgets fgets(str,n,fp) 从fp指向的文件读入长度为(n-1)的字符串,存放到字符数组str中 读成功,返回地址str,失败则返回NULL) fputs fputs(str,fp) str所指向的字符串写到文件指针变量fp所指向的文件中 写成功,返回0;否则返回非0值 说明: fgets函数的函数原型为: char *fgets (char *str,int n,FILE *fp); 其作用是从文件读入一个字符串 调用时可以写成: fgets(str,n,fp); 说明: fgets(str,n,fp);中n是要求得到的字符个数,但实际上只读n-1个字符,然后在最后加一个’\0’字符,这样得到的字符串共有n个字符,把它们放到字符数组str中 如果在读完n-1个字符之前遇到换行符“\n”或文件结束符EOF,读入即结束,但将所遇到的换行符“\n”也作为一个字符读入 执行fgets成功,返回str数组首地址,如果一开始就遇到文件尾或读数据错,返回NULL 说明: fputs函数的函数原型为: int fputs (char *str, FILE *fp); str指向的字符串输出到fp所指向的文件中 调用时可以写成: fputs(”China”,fp); fputs函数中第一个参数可以是字符串常量、字符数组名或字符型指针 字符串末尾的′\0′不输出 输出成功,函数值为0;失败,函数值为EOF 10.3.3用格式化的方式读写文件 一般调用方式为: fprintf(文件指针,格式字符串,输出表列); fscanf (文件指针,格式字符串,输入表列); 如: fprintf (fp,”%d,%6.2f”,i,f); fscanf (fp,”%d,%f”,i,f); 10.3.4 用二进制方式向文件读写一组数据 一般调用形式为: fread(buffer,size,count,fp); fwrite(buffer,size,count,fp); 10.3.4 用二进制方式向文件读写一组数据 buffer:是一个地址 对fread来说,它是用来存放从文件读入的数据的存储区的地址 对fwrite来说,是要把此地址开始的存储区中的数据向文件输出 size:要读写的字节数 count:要读写多少个数据项 fp:FILE类型指针 10.4 随机读写数据文件 10.4.1 文件位置标记及其定位 10.4.2 随机读写 10.4.1 文件位置标记及其定位 1.文件位置标记 为了对读写进行控制,系统为每个文件设置了一个文件读写位置标记(简称文件标记),用来指示“接下来要读写的下一个字符的位置” 10.4.1 文件位置标记及其定位 文件指针 读写当前位置 文件尾 1.文件位置标记 文件头 10.4.1 文件位置标记及其定位 1.文件位置标记 如果是顺序写文件,则每写完一个数据后,文件标记顺序向后移一个位置,然后在
您可能关注的文档
最近下载
- 2025年单招考试数学卷(含答案解析) 完整版2025.pdf VIP
- 机械伤害应急预案.docx VIP
- 《防止静电事故通用导则》GB_12158—2006.pdf VIP
- 浙江省9+1高中联盟2024-2025学年高一上学期期中考试数学试卷含答案.docx VIP
- 幼儿园公开课大班科学《有趣的颜色》课件.pptx VIP
- 山东省2025年专升本英语真题.docx VIP
- xx名校长工作室管理制度.docx VIP
- 浙江省9+1高中联盟2024-2025学年高一上学期期中考试数学试卷 含解析.docx VIP
- SAC24000T全地面起重机参数表.pdf VIP
- 07SD101-8 电力电缆井设计与安装.pdf VIP
原创力文档


文档评论(0)