手机seo网站推广seo型网站

news/2025/9/23 0:59:03/文章来源:
手机seo网站推广,seo型网站,长春网站只长春网站制作做,wordpress 编辑权限 发文章目录 1. 为什么使用文件 2. 什么是文件 2.1 程序文件 2.2 数据文件 2.3 文件名 3. 文件的打开和关闭 3.1 文件指针 3.2 文件的打开和关闭 4. 文件的顺序读写 ​编辑 ​编辑 4.1 对比一组函数#xff1a; ​编辑 5. 文件的随机读写 5.1 fseek 5.2 ftell 5.3 rewind…目录 1. 为什么使用文件 2. 什么是文件 2.1 程序文件 2.2 数据文件 2.3 文件名 3. 文件的打开和关闭 3.1 文件指针 3.2 文件的打开和关闭 4. 文件的顺序读写 ​编辑 ​编辑 4.1 对比一组函数 ​编辑 5. 文件的随机读写 5.1 fseek 5.2 ftell 5.3 rewind 6. 文本文件和二进制文件 7. 文件读取结束的判定 7.1 被错误使用的feof 8. 文件缓冲区 1. 为什么使用文件 我们前面学习结构体时写了通讯录的程序当通讯录运行起来的时候可以给通讯录中增加、删除数据此时数据是存放在内存中当程序退出的时候通讯录中的数据自然就不存在了等下次运行通讯录程序的时候数据又得重新录入如果使用这样的通讯录就很难受。 我们在想既然是通讯录就应该把信息记录下来只有我们自己选择删除数据的时候数据才不复存在。 这就涉及到了数据持久化的问题我们一般数据持久化的方法有把数据存放在磁盘文件、存放到数据库等方式。 使用文件我们可以将数据直接存放在电脑的硬盘上做到了数据的持久化。 2. 什么是文件 磁盘上的文件是文件。 但是在程序设计中我们一般谈的文件有两种程序文件、数据文件从文件功能的角度来分类的。 2.1 程序文件 包括源程序文件后缀为.c,目标文件windows环境后缀为.obj,可执行程序windows环境 后缀为.exe。 2.2 数据文件 文件的内容不一定是程序而是程序运行时读写的数据比如程序运行需要从中读取数据的文件 或者输出内容的文件。 本章讨论的是数据文件。 在以前各章所处理数据的输入输出都是以终端为对象的即从终端的键盘输入数据运行结果显示到显示器上。 其实有时候我们会把信息输出到磁盘上当需要的时候再从磁盘上把数据读取到内存中使用这里处理的就是磁盘上文件。 2.3 文件名 一个文件要有一个唯一的文件标识以便用户识别和引用。 文件名包含3部分文件路径文件名主干文件后缀 例如 c:\code\test.txt 为了方便起见文件标识常被称为文件名。 3. 文件的打开和关闭 3.1 文件指针 缓冲文件系统中关键的概念是“文件类型指针”简称“文件指针”。 每个被使用的文件都在内存中开辟了一个相应的文件信息区用来存放文件的相关信息如文件的名字文件状态及文件当前的位置等。这些信息是保存在一个结构体变量中的。该结构体类型是有系统声明的取名FILE. 例如VS2013编译环境提供的 stdio.h 头文件中有以下的文件类型申明  struct _iobuf {char *_ptr;int  _cnt;char *_base;int  _flag;int  _file;int  _charbuf;int  _bufsiz;char *_tmpfname;}; typedef struct _iobuf FILE; 或者  不同的C编译器的FILE类型包含的内容不完全相同但是大同小异。 每当打开一个文件的时候系统会根据文件的情况自动创建一个FILE结构的变量并填充其中的信息使用者不必关心细节。 一般都是通过一个FILE的指针来维护这个FILE结构的变量这样使用起来更加方便。 下面我们可以创建一个FILE*的指针变量:  FILE* pf;//文件指针变量 定义pf是一个指向FILE类型数据的指针变量。可以使pf指向某个文件的文件信息区是一个结构体变量。通过该文件信息区中的信息就能够访问该文件。也就是说通过文件指针变量能够找到与它关联的文件。 比如  3.2 文件的打开和关闭 文件在读写之前应该先打开文件在使用结束之后应该关闭文件。 在编写程序的时候在打开文件的同时都会返回一个FILE*的指针变量指向该文件也相当于建立了指针和文件的关系。 ANSIC 规定使用fopen函数来打开文件fclose来关闭文件。  //打开文件 FILE * fopen ( const char * filename, const char * mode ); //关闭文件 int fclose ( FILE * stream ); 打开方式如下 文件使用方式                 含义                                                                 如果指定文件不存在“r”只读 为了输入数据打开一个已经存在的文本文件                                 出错 “w”只写 为了输出数据打开一个文本文件                                         建立一个新的文件 “a”追加 向文本文件尾添加数据                                                            建立一个新的文件 “rb”只读 为了输入数据打开一个二进制文件                                             出错 “wb”只写 为了输出数据打开一个二进制文件                                   建立一个新的文件 “ab”追加 向一个二进制文件尾添加数据                                                       出错 “r”读写 为了读和写打开一个文本文件                                                    出错 “w”读写 为了读和写建议一个新的文件                                         建立一个新的文件 “a”读写 打开一个文件在文件尾进行读写                                      建立一个新的文件 “rb”读写 为了读和写打开一个二进制文件                                                  出错 “wb”读写 为了读和写新建一个新的二进制文件                           建立一个新的文件 “ab”读写 打开一个二进制文件在文件尾进行读和写                     建立一个新的文件 实例代码 /* fopen fclose example */ #include stdio.h int main () {FILE * pFile;//打开文件pFile fopen (myfile.txt,w);//文件操作if (pFile!NULL) {fputs (fopen example,pFile);//关闭文件fclose (pFile); }return 0; } 4. 文件的顺序读写 功能                                                 函数名                                                  适用于 字符输入函数                                   fgetc                                                 所有输入流 字符输出函数                                   fputc                                                 所有输出流 文本行输入函数                               fgets                                                 所有输入流 文本行输出函数                               fputs                                                 所有输出流 格式化输入函数                               fscanf                                               所有输入流 格式化输出函数                               fprintf                                                 所有输出流 二进制输入                                      fread                                                 文件 二进制输出                                      fwrite                                                 文件 fprintf和fscanf 后面的参数是可变参数列表。 4.1 对比一组函数 scanf/fscanf/sscanf printf/fprintf/sprintf 这里演示讲解这句函数的使用和对比 sprintf和sscanf使用 5. 文件的随机读写 5.1 fseek 根据文件指针的位置和偏移量来定位文件指针。 例子 SEEK_CUR是pf当前位置 SEEK_SET是pf起始位置  5.2 ftell 返回文件指针相对于起始位置的偏移量 5.3 rewind 让文件指针的位置回到文件的起始位置 6. 文本文件和二进制文件 根据数据的组织形式数据文件被称为文本文件或者二进制文件。 数据在内存中以二进制的形式存储如果不加转换的输出到外存就是二进制文件。 如果要求在外存上以ASCII码的形式存储则需要在存储前转换。以ASCII字符的形式存储的文件就是文本文件。 一个数据在内存中是怎么存储的呢 字符一律以ASCII形式存储数值型数据既可以用ASCII形式存储也可以使用二进制形式存储。 如有整数10000如果以ASCII码的形式输出到磁盘则磁盘中占用5个字节每个字符一个字节而二进制形式输出则在磁盘上只占4个字节VS2013测试  小端存储 #include stdio.h int main() { int a 10000; FILE* pf fopen(test.txt, wb); fwrite(a, 4, 1, pf);//二进制的形式写到文件中 fclose(pf); pf NULL; return 0; } 7. 文件读取结束的判定 7.1 被错误使用的feof 牢记在文件读取过程中不能用feof函数的返回值直接用来判断文件的是否结束。 而是应用于当文件读取结束的时候判断是读取失败结束还是遇到文件尾结束。 1. 文本文件读取是否结束判断返回值是否为 EOF fgetc 或者 NULL fgets 例如 fgetc 判断是否为 EOF . fgets 判断返回值是否为 NULL . 2. 二进制文件的读取结束判断判断返回值是否小于实际要读的个数。 例如 fread判断返回值是否小于实际要读的个数。 正确的使用 文本文件的例子 #include stdio.h #include stdlib.h int main(void) {int c; // 注意int非char要求处理EOFFILE* fp fopen(test.txt, r);if(!fp) {perror(File opening failed);return EXIT_FAILURE;} //fgetc 当读取失败的时候或者遇到文件结束的时候都会返回EOFwhile ((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); } 二进制文件的例子 #include stdio.h enum { SIZE 5 }; int main(void) {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); } 8. 文件缓冲区 ANSIC 标准采用“缓冲文件系统”处理的数据文件的所谓缓冲文件系统是指系统自动地在内存中为程序中每一个正在使用的文件开辟一块“文件缓冲区”。从内存向磁盘输出数据会先送到内存中的缓冲区装满缓冲区后才一起送到磁盘上。如果从磁盘向计算机读入数据则从磁盘文件中读取数据输入到内存缓冲区充满缓冲区然后再从缓冲区逐个地将数据送到程序数据区程序变量等。缓冲区的大小根据C编译系统决定的。  #include stdio.h #include windows.h //VS2013 WIN10环境测试 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语言在操作文件的时候需要做刷新缓冲区或者在文件操作结束的时候关闭文件。 如果不做可能导致读写文件的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910937.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站建设公司应该怎么转型wordpress 调用豆瓣

每个优秀的程序员都喜欢编写简洁但有效且经过优化的代码。 类型推断是JDK 7中引入的一种方法,它肯定会为您带来更少键入的好处。 您以以下方式使用Java代码已有很长时间了。 但是,在初始化Collections的特定实现时,您是否曾经想到过代码重复&…

云建站平台哪家好濮阳网络电视直播

大家好,我是微学AI,今天给大家介绍一下人工智能(pytorch)搭建模型22-基于pytorch搭建SimpleBaseline(人体关键点检测)模型,并详细介绍该网络模型与代码实现。本文将介绍关于SimpleBaseline模型的原理,以及利用pytorch框架搭建模型…

凡客建站手机版下载咋样查看网站用什么编程语言做的

1:端口需要隔离开 新版增加GRPC 不要挨着设置ip,否则会出现端口占用。 可以使用 8848 8858 8868 8848GRPC会占用9848 9899 8849: 占用9849 9850 8850: 占用9850 9851 nginx 负载也需要与上述端口 隔离开…

怎么把自己做的网站让别人收到国内做网站群平台的公司

在嵌入式环境下,使用CMSIS-DSP库进行音频信号处理是一种常见的应用场景。通过CMSIS-DSP库,开发人员可以利用嵌入式系统的处理能力来实现各种数字信号处理(DSP)功能,例如音频滤波、均衡器、噪音消除等。本文将介绍如何在…

楚雄做网站界面设计属于什么专业

return中断方法和Unreachable code(永远达不到的代码) 1.下面这段代码因为for循环是个死循环,System.out.println(); 执行不到编辑器会报错Unreachable code(永远达不到的代码) public static void main(String[] ar…

哪个网站做视频赚钱为什么建设网站要年年交钱

1、 HarmoryOS Ability页面的生命周期 2、 Component自定义组件 3、HarmonyOS 应用开发学习笔记 ets组件生命周期 4、HarmonyOS 应用开发学习笔记 ets组件样式定义 Styles装饰器:定义组件重用样式 Extend装饰器:定义扩展组件样式 前面记录了ets组件样式…

合肥网站建设服务哪里有免费的网站推广软件

el-table当数据量大的时候,实现滚动到底部后加载数据,直接上js代码,有其他需求请各自更改 第一步、在data中定义两个数组 data() {return {innerList:[], //新数组,用于存放全部数据innerData:[], //el-table表格数组dom:null,…

淘宝单页面网站零基础网站建设视频

随着信息技术的不断发展,企业应用开发的需求也日益增长。为满足这一需求,低代码与系统集成逐渐崭露头角,成为推动企业数字化转型的重要力量。本文将从低代码的概念、优势,以及其与系统集成的结合等方面进行探讨,以期为…

凡科网做网站好吗免费网站建设 百度收录

本文介绍了Linux的C开发环境的构成和安装,使读者对Linux的C开发环境能有初步的了解。 你了解Linux吗?相信现在越来越多的人会说“是”的。那么你了解到何种程度呢?不可否认,目前决大多 数的Linux用户对Linux的了解还处于比较低级的…

南京装修公司做网站为中小型企业构建网站

Marica对Mirko很生气,因为他找到了一个新的女朋友,她想报仇。由于她不住在同一个城市,她开始为长途旅行做准备。我们知道每条路从一个城市到另一个城市需要多少分钟。 米尔科在车里无意中听到其中一条路正在维修,路被堵住了&…

网站建设方案需要哪些步骤网站建设的重要性 学校

写在前面 我们知道我们编写的java代码,会经过编译器编译成字节码文件(class文件),再把字节码文件装载到JVM中,映射到各个内存区域中,我们的程序就可以在内存中运行了。那么字节码文件是怎样装载到JVM中的呢…

哪家网站建设做的好网页游戏开发需要学什么

Horizontal Pod Autoscaling in Kubernetes写在前面我们平时部署web服务,当服务压力大撑不住的时候,我们会加机器(加钱);一般没有上容器编排是手动加的,临时加的机器,临时部署的服务还要改Nginx的配置,最后…

泰兴网站设计河南网站推广多少钱

眼中有细节,学习的过程才能平稳! 1.游戏更新时把名字也更新 代码如下: 效果如下: 2.因为是第三人称,从背后看,所以名称应该水平对称,翻转一下!rotate y180 游戏内效果如下&#xf…

互联网创业就是做网站吗局域网做网站

openchatai/OpenCopilot Stars: 3.8k License: MIT OpenCopilot 是一个允许你拥有自己产品的 AI 副驾驶员的项目。它集成了产品底层 API,并可以在需要时执行 API 调用。它使用 LLMs 来确定用户请求是否需要调用 API 端点,然后决定调用哪个端点并根据给定…

建设医院网站的重点与难点在于专业网站设计开发网站

项目背景 最近停在门前的车被人开走了,虽然有监控,但是看监控太麻烦了,于是想着框选一个区域用yolov8直接检测闯入到这个区域的所有目标,这样1ms一帧,很快就可以跑完一天的视频 用到的技术 COpenCVYolov8 OnnxRunt…

网站开发获客渠道做企业网站备案都需要什么资料

文章目录 前言一、题意描述输入描述:输出描述: 二、代码1.代码的实现2.读入数据 总结 前言 在python基础知识的学习中,我们很多时候会遇见让我们把数字拆分成各个位数的题,下面这道就是经典的数字拆分的l例题 一、题意 描述 牛…

学网站建设设计要钱吗wordpress wampsever

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数 -e 格式如下: echo -e "\033[字背景颜…

优质外贸网站海南美容网站建设

letconst解构赋值字符串数组函数对象SymbolSetWeakSetMapWeakMapProxyreflectProxy与Reflex结合实例classpromiseiteratorGerneratorDecorators模块学习资料 let /* let 声明变量 *//* es6相对于es5的全局和局部作用域,多了一个块作用域,块作用域里声明的…

修改备案网站信息广东外贸网站定制

Domain-Oriented Knowledge Transfer for Cross-Domain Recommendation IEEE(CCF B.SCI 1)-Guoshuai Zhao, Xiaolong Zhang, Hao Tang, Jialie Shen, and Xueming Qian-2024 思路 在CDR中,构建连接两个域的桥梁是实现跨域推荐的基础。然而现在的CDR方法往往在连接两个域时忽…

聊城网站开发个人网页传奇世界翅膀升级

来源:机器人圈概要:AI可以帮助人们预测就业市场接下来的变动,发现(并满足)新的培训劳动力的需求,以此缓冲它自身及其他因素造成的影响。人们对人工智能(AI)抱有极高的期待&#xff0…