当前位置: 首页 > news >正文

宣威市住房与城乡建设局网站网站设计西安学习

宣威市住房与城乡建设局网站,网站设计西安学习,自家企业网络推广,php网站模板怎么安装目录 四、有关文件的随机读写函数 4.1 fseek 4.2 ftell 4.3 rewind 五、判定文件读取结束的标准与读写文件中途发生错误的解决办法 5.1 判定文件读取结束的标准 5.2 函数ferror与feof 5.2.1 函数ferror 5.2.2 函数feof 在上一章中#xff0c;我们主要介绍了文件类型…目录 四、有关文件的随机读写函数 4.1 fseek 4.2 ftell 4.3 rewind 五、判定文件读取结束的标准与读写文件中途发生错误的解决办法 5.1 判定文件读取结束的标准 5.2 函数ferror与feof 5.2.1 函数ferror 5.2.2 函数feof  在上一章中我们主要介绍了文件类型指针如何打开与关闭文件什么是流与标准流以及提到的部分顺序读写函数。 C语言| 文件操作详解 一 这篇文章为上篇文章的续将对有关文件随机读写的函数 fseek、ftell 、rewind 进行介绍并解释判定文件读取结束的标准与读写文件中途发生错误的解决办法。 四、有关文件的随机读写函数 4.1 fseek 介绍该函数主要用于改变文件中光标就是我们打字的时候一闪一闪的小竖线的位置这里说光标是为了便于理解实际上是文件指针再利用相关函数输入内容后新内容会覆盖在该位置上的原内容。 例如,在打开的某个文件中有以下内容“abcdef”,其中光标在‘c’之后即相对于文件起始光标位置偏移量为3此时利用fputc在文件上打印一个字母m则文件内容最终变为“abcmef”。 函数声明 int  fseek ( FILE* streamlong int offsetint origin ); 参数 (1) 指向标识输入流的FILE对象的指针 (2) 要从源偏移的字节数即偏移量 (3) 偏移量所参考的起始位置即源的值 对于参数(3),源的位置值我们一般填入下表中三个常量的一个。 常量参考位置SEEK_SET文件开头SEEK_CUR文件指针的当前位置SEEK_END文件末尾 返回值 成功则返回0否则返回非0值如果发生读取或写入错误则会设置错误指示符。 使用示例 #define _CRT_SECURE_NO_WARNINGS #include stdio.h int main() { FILE* pf fopen(233.txt, w);fputs(There has a boy, pf);fseek(pf, 12, SEEK_SET);fputc(g, pf);fputc(i, pf);fputc(r, pf);fputc(l, pf);fclose(pf);return 0; } 4.2 ftell 介绍该函数用于返回文件指针相对于起始位置的偏移量。 函数声明 long int ftell ( FILE * stream ) ; 参数 指向标识流的FILE对象的指针 返回值 成功则返回相对于文件指针初始位置的偏移量失败则返回-1L 使用示例 #define _CRT_SECURE_NO_WARNINGS #include stdio.h int main() { FILE* pf fopen(example.txt, rb);long long size 0;if (pf NULL)perror(Error opening file);else {fseek(pf, 0, SEEK_END);size ftell(pf);fclose(pf);printf(该文件的大小为%ld字节\n,size);}return 0; } PS 顺便解释一下为什么上述代码可以检测文件的字节大小因为一个字符占一个偏移量只要得到文件末尾相对于文件初始位置的偏移量 就可以得到文件的字符数而一个字符占一个字节char型所以可以得到文件的字节大小。 4.3 rewind 介绍该函数用于将文件指针的位置重置为文件的起始位置 函数声明 void rewind ( FILE * stream ) ; 参数 指向标识流的FILE对象的指针 返回值 无 使用示例 #define _CRT_SECURE_NO_WARNINGS #include stdio.h int main() { FILE* pf fopen(123456.txt, w);char arr[100];fputs(fufu is very cute!, pf);rewind(pf);fgets(arr,sizeof(arr)/sizeof(arr[0]), pf);printf(%s,arr);fclose(pf);return 0; } 五、判定文件读取结束的标准与读写文件中途发生错误的解决办法 5.1 判定文件读取结束的标准 如何判断文件读取结束其实是一个很简单的问题。 一般来说我们使用的有关文件读取的函数对于文本文件如果它的返回值是EOF例如fgetc或者NULL例如fgets则代表文件内容读取结束。 而如果是二进制文件则是看返回值是否小于实际要读取的个数例如fread 5.2 函数ferror与feof 但有些时候文件会因为各种各样的代码问题导致文件中途读写失败如何得知哪个函数出现问题又如何判断文件是否因为到达文件尾而读取结束接下来我们介绍两个函数它们可以解决我们的疑问。 5.2.1 函数ferror 函数声明 int ferror( FILE* stream ) 函数参数 指向标识流FILE对象的指针 返回值 如果设置了与流关联的错误指示器则返回非零值否则返回0 解释 在上篇文章与这篇文章中我们介绍的函数绝大多数遇到错误都会设置错误指示器如果在每一个有关文件读写的函数后面都加一个if利用ferror进行判断就可以知道在哪里出了问题。 例 #define _CRT_SECURE_NO_WARNINGS #include stdio.h int main() {FILE* pf;pf fopen(myfile.txt, r);//注释if (pf NULL) perror(Error opening file);else {char afgetc(pf);if (ferror(pf)) {printf(Error Reading to myfile.txt\n);exit(3);}fputc(x, pf);if (ferror(pf)) {printf(Error Writing to myfile.txt\n);exit(2);} fclose(pf);}return 0; } 我们先将代码复制到工程中然后在工程文件的目录下创建名为“myfile”的txt类型文件并输入如下内容 1.如果将注释一行的“r”更改为“r”运行程序结果为 2. 如果将注释一行的“r”更改为“w”运行程序结果为 根据ferror函数与运行结果 我们就可以锁定问题出现在文件的读写方式上。 3. 如果不进行更改运行程序结果为 5.2.2 函数feof  函数声明 int feof ( FILE* stream) 参数 指向标识流的FILE对象的指针 返回值 如果设置了与流关联的文件结束指示器则返回非零值否则返回0 解释 如果正常到达文件末尾而结束读取则会返回非0值如果未到达文件末尾而结束读取则会返回0用于检查程序是否读取完整。 注意 feof是用于判断文件读取结束的原因是否是到达文件末尾千万不可在文件读取过程中使用feof 例 #define _CRT_SECURE_NO_WARNINGS #include stdio.hint main () {FILE * pFile;int n 0;pFile fopen (myfile.txt,rb);if (pFileNULL) perror (Error opening file);else{while (fgetc(pFile) ! EOF) {n;}if (feof(pFile)) {puts (End-of-File reached.);printf (Total number of bytes read: %d\n, n);}else puts (End-of-File was not reached.);fclose (pFile);}return 0; } 此代码作用为 打开名为“myfile.txt”的文件并通过逐个读取所有字符来计算文件的字节数。该程序检查是否已到达文件末尾如果已到达则打印读取的总字节数。 小伙伴们可以自己试一下我这里就不演示了。 本文完
http://www.tj-hxxt.cn/news/132974.html

相关文章:

  • 苏州网站推物联网系统设计方案
  • 动漫网站开发需求分析计算机培训班培训费用
  • 我想创个网站需要网站建设的是哪一类人
  • 制作个人网站的软件旅游seo
  • 河南建设部网站夜无忧论坛官网
  • 网站开发人员招聘要求深圳市官方网站
  • 论述网站建设整个流程做代理
  • 香水网络营销策划方案怎样做网站的优化 排名
  • 湛江制作网站公司东莞网站开发后缀
  • 企业网站策划书制作珠海cp网站建设
  • 滨海做网站公司广东网站设计哪家好
  • 长春电商网站建设哪家好龙岗成立区企业服务中心
  • 山东枣庄滕州网站建设wordpress的主要功能
  • 网站空间 更换公司网站后台如何上传视频
  • 课程设计报告 网站开发广州海珠区有什么大学
  • 晋城网站建设公司百度搜索指数是怎么计算的
  • 汕头网站优化公司看动漫是怎么做视频网站
  • 如何看那个网站是那个公司做的网站首页加浮动窗口
  • 优秀设计赏析网站网站静态和动态区别是什么
  • 服装网站功能网站怎么用ftp修改网页内容
  • 网站开发知识产权归属重庆网站建设技术外包
  • 电子政务门户网站建设代码公共资源交易中心官网
  • 站长之家是干嘛的推广链接点击器
  • 网站建设 用户管理一级造价工程师报名时间2023年
  • 用php做电子商务网站长沙网红小吃
  • 北京华诚传媒有限公司官方网站视频直播app下载
  • 广播电台网站建设板块北京建站的
  • 佰联轴承网做的网站涞水网站建设
  • 免费网站模版站内营销推广方式
  • 如何在720云网站做全景视频下载网站开发岗位职责