首页 > 其他分享 >文件的简单学习

文件的简单学习

时间:2023-03-30 21:34:24浏览次数:36  
标签:文件 stream 读写 学习 FILE 简单 restrict size

文件输入输出:

  • 用>和<做重定向,>是把输入写进另一个文件,<是从文件中获取
1 FILE* fopen(const char* resrict path,const char* restrict mode);
2 int fclose(FILE *stream);
3 fscanf(FILE*,...)

打开文件的标准代码:

1 FILE* fp=fopen("file","r");
2 if(fp){
3     fscanf(fp,...);
4     fclose(fp);
5 }else{
6     ...
7 }

fopen:

r 打开只读
r+ 打开读写,从文件头开始
w 打开只写。如果不存在则新建,如果存在则清空
w+ 打开读写。如果不存在则新建,如果存在则清空
a 打开追加。如果不存在则新建,如果存在则从文件尾开始
..x 只新建,如果文件已经存在则不能打开

二进制文件:

  • 其实所有的文件最终都是二进制的
  • 文本文件无非是用最简单的方式可以读写的文件
  • more、tail
  • cat
  • vi
  • 而二进制文件是需要专门的程序来读写的文件
  • 文本文件的输入输出是格式化,可能经过转码
  • 二进制读写:size_t fread(void *restrict ptr,size_t size,size_t nitems,FILE *restrict stream);
  • size_t fwrite(const void *restrict ptr,size_t size,size_t nitems,FILE *restrict stream);
  • 注意FILE指针是最后一个参数
  • 返回的是成功读写的字节数
  • 为什么有nitems,因为二进制文件的读写一般都是对一个结构变量的操作来进行的,于是nitem就是用来说明这次读写几个结构变量

在文件中定位:

  • long ftell(FILE *stream);
  • int fseek(FILE *stream,long offset,int whence);
  • SEEK_SET:从头开始
  • SEEK_CUR:从当前位置开始
  • SEEK_END:从尾开始(倒过来)
  • 例如:fseek(fp,0L,SEEK_END)

 

标签:文件,stream,读写,学习,FILE,简单,restrict,size
From: https://www.cnblogs.com/TiAmo-bai/p/17274405.html

相关文章

  • Doker学习
    一、安装官网:www.docker.com安装步骤(CenteOS7)yum包更新到最新yumupdate安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖的#-y:意思是需要输入Y运行下一步的自动帮我们键入Yyuminstall-yyum-utilsdevice-mapper-persistent......
  • 每日总结-23.3.29-利于云服务器和javaweb简单实现一个网站
    每日总结-23.3.29-利于云服务器和javaweb简单实现一个网站 3月29日总结今日使用云服务器和tomcat实现了简单网站的搭建。使用工具(个人体验,仅作参考,使用其他版本或工具应该也行):1.移动云新人体验免费云服务器一台。(个人专享:通用型云主机)活动页面 (https://ecloud.10086.......
  • 密码学SAT入门003——关于流密码入门算法A5-1的学习
      电子科技大学《现代密码学》慕课截图——感谢聂旭云、廖永建、熊虎等几位老师的讲解                                         算法code A5_1.algprogramdescribe......
  • nvprof学习手记
    最近在读professionalcudacprogramming.第三章里有一些关于nvprof的内容.记录一下过程中遇到的问题.本书的代码可以在这里找到.线程束分化GPU在控制流上相对简单,相比GPU它没有复杂的分支预测机制,一个warp中所有线程在同一周期内必须执行相同指令.如果一个线程执行一条指令......
  • Linux系统中创建文件常用的方法!
    众所周知,在Windows系统中可以直接右键新建文件,而在Linux系统中,想要创建文件并非易事,需要通过执行命令来完成,那么Linux系统中创建文件常用的方法有哪些?本文为大家介绍一下Linux系统下创建文件的8种方法,快来了解一下吧。1、重定向符号>通常重定向符号可以创建一个0kb的......
  • WebUploader大文件上传解决方案支持分片断点上传
    ​ 前言文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好的办法,毕竟很少有人会忍受,当文件上传到一半中断后,继续上传却只能重头开始上传,这种让人不爽的体验。那有没有......
  • 中嘉工程检测+微签,让检测报告签署变简单
    真的太多了!头疼的检测机构微签已经在检测行业打出名堂了。三百六十行,行行用微签,微签在每行每业都有应用,所有行业用起微签的功能其实也都大同小异,电子签章、线上审批、文件自动发送、自动归档,等等。但是只有一个例外,就是检测行业,检测机构,无论大小,找到微签,最关心的问题,全部都是:“听说......
  • C#:解析XML文件的C#指南
    XML是一种常用的数据交换格式,C#提供了许多内置的类和方法来解析和操作XML文件。在这篇文章中,我们将介绍如何使用C#解析XML文件。读取XML文件要读取XML文件,我们可以使用XmlDocument类。以下是一个示例代码,它读取名为example.xml的XML文件并打印其内容:usingSystem;usingSys......
  • PageOffice 在线编辑 office文件,回调父页面
    一、子页面调用父页面的方法varvalue=window.external.CallParentFunc("ParentFunName(Arguments);");//父页面的JS函数有返回值window.external.CallParentFunc("ParentFunName(Arguments);");//父页面的JS函数无返回值二、是否需要传递参数(子页面关闭窗口的同时刷新父页面......
  • javascript大文件上传解决方案支持分片断点上传
    ​ 这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数下面直接贴代码吧,一些难懂的我大部分都加上注释了:上传文件实体类:看得出来,实体类中已经有很多我们需要的功能了,还有实用的属性。如MD5秒传的信息。pub......