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

网站建设时间进度表模板小仙女12777 coon域名查询

网站建设时间进度表模板,小仙女12777 coon域名查询,工商注册公司查名,网站平台推广语录目录 1.文件的随机读写1.1 fseek1.2 ftell1.3 rewind 2. 文件结束的判定2.1 文本文件读取结束的判断2.2 二进制文件读取结束的判断 3. 文件缓冲区 1.文件的随机读写 1.1 fseek 根据⽂件指针的位置和偏移量来定位⽂件指针。 函数原型#xff1a; int fseek (FILE * stream,… 目录 1.文件的随机读写1.1 fseek1.2 ftell1.3 rewind 2. 文件结束的判定2.1 文本文件读取结束的判断2.2 二进制文件读取结束的判断 3. 文件缓冲区 1.文件的随机读写 1.1 fseek 根据⽂件指针的位置和偏移量来定位⽂件指针。 函数原型 int fseek (FILE * stream, long offset, int origin);stream 一个指向文件流的指针。 offset 距离文件参考位置的偏移量。 origin 文件指针的参考位置。 文件的参考位置有如下三种 SEEK_SET 文件的开头。SEEK_CUR 文件指针的当前位置。SEEK_END 文件的结束位置 。 例子 #include stdio.hint main() {FILE* pFile fopen(example.txt, wb);fputs(This is an apple., pFile);fseek(pFile, 9, SEEK_SET);//9是距离文件起始的偏移量,表示将文件指针移到距离文件开头偏移量为9的地方即字符串中n的位置则下一次执行的文件操作将从n的位置开始//fseek有三个位置常量//SEEK_SET 文件起始位置 偏移量为0//SEEK_CUR 文件指针的当前位置//SEEK_END 文件结束位置 使用时偏移量可以是负数表示向左偏移fputs( sam, pFile);fclose(pFile);return 0; }输出结果 返回值 如果成功函数返回0失败则返回非0值。 1.2 ftell 返回⽂件指针相对于起始位置的偏移量。 函数原型 long ftell (FILE * stream);stream : 一个指向文件流的指针。返回值 返回文件指针相对于起始位置的偏移量。 1.3 rewind 让⽂件指针的位置回到⽂件的起始位置。 函数原型 : void rewind (FILE * stream);stream : 一个指向文件流的指针。 例子ftell 和 rewind #include stdio.hint main() {int position 9;int n 0;;char buffer[27];//不初始化字符串里就没有\0初始化会把里面全变成\0FILE* pFile fopen(myfile.txt, w);for (n A; n Z; n)fputc(n, pFile);rewind(pFile); //rewind是让文件指针的位置回到文件的起始位置position ftell(pFile);//ftell是返回文件指针相对于起始位置的偏移量返回类型是longprintf(%d\n, position);fread(buffer, 1, 26, pFile);//(字符串的地址类型大小读取个数流的地址)fclose(pFile);buffer[26] \0;//fread 并不会添加\0printf(buffer);return 0; }输出结果文件 : 输出结果屏幕: 2. 文件结束的判定 2.1 文本文件读取结束的判断 ⽂本⽂件读取是否结束判断返回值是否为 EOF fgetc 或者 NULL fgets 。 例如 fgetc 读取结束返回EOF判断返回是否是EOF。fgets 读取结束返回NULL判断返回是否是NULL。 例子 #include stdio.h #include stdlib.hint main() {int c; // 注意int⾮char要求处理EOF FILE* fp fopen(test.txt, r);if(fp NULL) {perror(File opening failed);return EXIT_FAILURE;}//fgetc 当读取失败的时候或者遇到⽂件结束的时候都会返回EOF while ((c fgetc(fp)) ! EOF) // 标准C I/O读取⽂件循环 { putchar(c);}//判断是什么原因结束的 if (ferror(fp))puts(I/O error when reading);else if (feof(fp))puts(End of file reached successfully);fclose(fp); }2.2 二进制文件读取结束的判断 ⼆进制⽂件的读取结束判断判断返回值是否⼩于实际要读的个数。 例如 fread 读取结束返回成功读取的个数判断返回值是否⼩于实际要读的个数。 例子 #include stdio.henum { SIZE 5 }; int main() {double a[SIZE] {1.,2.,3.,4.,5.};FILE *fp fopen(test.bin, wb); // 必须⽤⼆进制模式 fwrite(a, sizeof *a, SIZE, fp); // 写 double 的数组 fclose(fp);double b[SIZE];fp fopen(test.bin,rb);size_t ret_code fread(b, sizeof *b, SIZE, fp); // 读 double 的数组 if(ret_code SIZE) {puts(Array read successfully, contents: );for(int n 0; n SIZE; n) printf(%f , b[n]);putchar(\n);} else { // error handlingif (feof(fp))printf(Error reading test.bin: unexpected end of file\n);else if (ferror(fp)) {perror(Error reading test.bin);}}fclose(fp); }3. 文件缓冲区 ANSIC标准采⽤“缓冲⽂件系统”处理的数据⽂件的所谓缓冲⽂件系统是指系统⾃动地在内存中为 程序中每⼀个正在使⽤的⽂件开辟⼀块“⽂件缓冲区”。从内存向磁盘输出数据会先送到内存中的缓 冲区装满缓冲区后才⼀起送到磁盘上。如果从磁盘向计算机读⼊数据则从磁盘⽂件中读取数据输 ⼊到内存缓冲区充满缓冲区然后再从缓冲区逐个地将数据送到程序数据区程序变量等。缓 冲区的⼤⼩根据C编译系统决定的。 代码示例 #include stdio.h #include windows.h //VS2019 WIN11环境测试 int main() {FILE*pf fopen(test.txt, w);fputs(abcdef, pf);//先将代码放在输出缓冲区 printf(睡眠10秒-已经写数据了打开test.txt⽂件发现⽂件没有内容\n);Sleep(10000);printf(刷新缓冲区\n);fflush(pf);//刷新缓冲区时才将输出缓冲区的数据写到文件磁盘 //注fflush 在高版本的VS上不能使用了 printf(再睡眠10秒-此时再次打开test.txt⽂件⽂件有内容了\n);Sleep(10000);fclose(pf);//注fclose在关闭文件的时候也会刷新缓冲区 pf NULL;return 0; }结论 因为有缓冲区的存在所以C语言在操作文件时需要刷新缓冲区或者关闭文件指fclose如果不做这样的操作可能导致读写文件的问题所以在台式电脑断电的时候可能会丢失数据没来得及将缓冲区的数据输入文件中。
http://www.pierceye.com/news/281053/

相关文章:

  • asp 公司网站源码贵州省建设厅的网站
  • 企业网站备案资料样本自建网站要多少钱
  • 女生做网站推广常用的网站推广方法
  • 营销型网站建设公司哪家建设开封做网站公司汉狮
  • 烟台专业网站建设seo实战培训教程
  • 上海建设项目环保验收公示网站dw做网站首页长宽设置多少
  • 中山网站制作系统创意视差wordpress主题
  • 安康网站开发公司广州微网站建设哪家好
  • 网站建设企业官网源码被代运营骗了怎么追回
  • 网站服务器 重启用邮箱做网站
  • 网站建设修改建议书网站快速收录方法
  • 网站建设项目步骤网站空间可以换吗
  • 美食网站界面设计网页设计制作代码大全
  • 宁波网站建设托管网站正在建设维护中页面
  • 古色古香网站模板响应式布局网站
  • 网站建设制作设计开发福建网站开发文档撰写
  • 钢管公司网站建设国外平面设计欣赏网站
  • 网站建设如何销售济南专门做网站的公司
  • 2018年淘宝客网站怎么做iis网站建设中
  • 网站倒计时代码企业网站建设运营方案
  • 课程网站开发过程东莞外贸模板建站
  • asp.net 网站提速廊坊企业官网搭建
  • 网站开发全过程电商数据分析
  • 代理 指定网站 hostwordpress图片无限放大
  • 中材建设有限公司招标网站包装设计网课答案
  • python云服务器网站开发实例外贸小家电网站推广
  • 郑州做网站公司中天猫商城的商品来源
  • 织梦网站首页互联网保险平台排名
  • 免费做链接的网站做动画相册在哪个网站好
  • 做思维导图好看的网站可以做富集分析的网站