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

文件的读写 二进制形式打开文件

路径

路径里面

C:\Users\51462\Desktop\实习作业\实习相关材料

如果直接复制到字符串 放荡程序中 会报错 因为 \  会被编译器识别位转义符

所以这里路径放到字符串我们要再加一个转义符

"C:\\Users\\51462\\Desktop\\实习作业\\实习相关材料"

而且路径是不区分大小写的

绝对路径 相对路径 在大一新手村 老师都讲烂了,懒得写了

文件

这玩意 在大一新手村 也是都会讲,但是一般都是最后几个章节,期末不太好出题,也就是学个皮毛,今天来好好看看。

FILE 结构体

这些底层的东西我们不需要关心

要关心的是 FILE* pf = 0;

我们在 使用文件的时候 都会先定义一个结构体指针 

fopen_s(&pf, "save", "rb")

第一个参数 &fp

这是一个FILE** 类型的数据,也就是一个文件指针的地址,在文件被成功打开后,这个函数就会通过二级指针去修改一级指针 也就是pf的值,让pf指向我们打开的文件。

这个函数会有返回值,成功打开文件返回0,且pf指向文件,可以用if(pf == 0)来来判断文件是否打开,或者创建一个 值来接受文件返回值 。

fwrite(&a, 1, 1, pf);

第一个参数 : 要写入数据的地址

第二个参数 : 块的大小(字节)

第三个参数 : 块的数量

第四个:操作文件的指针

这里要注意 第二个第三个 对于单个变量 都无所谓 只要是两个的乘积 来写入就行,有时候也可以这样用

  • size=4count=1(比如写入一个int):fwrite会从内存中读取连续的 4 字节(对应int的大小),然后写入文件。
  • size=1count=4fwrite会从内存中读取4 个连续的 1 字节块(总长度也是 4 字节),然后写入文件。
  • 注意这里两种写法 都不影响字节序,不会让数据出现问题。但是size = 1 可以一个字节一个字节的操作 更有操作空间,把所有东西(组合不同的数据类型)都弄好,然后一次性写入。

fseek(pf,0,SEEK_END);

第二个参数 偏移量:

第三个参数 基准位置:

ftell

 fseek 最后一个参数 使用 SEEK_END

配合 ftell 就能直到文件的大小。

rewind

这两个 代码 是等价的。

    fread(fd, 1, fsize, pf);

第一个数据 文件数据放入的缓冲区

第二个参数 单个数据块大小

第三给参数 数据块数量

文件指针

这个  缓冲区如何去做呢?

我们之前用 

fseek(pf,0,SEEK_END);int size = ftell(pf)

的方式能够拿到文件大小,用这个size 开个堆就可以 当作fread 第一参数的缓冲区

值得注意的是 这个缓冲区类型 我们是用void*(通用指针类型) 来操作 

void* fd = malloc(size);

然后我们继续把 缓冲区 fd 写入另外一个文件中就可以,fopen 在写文件如果没有文件就会自动帮我们创建。

当然 在缓冲区赋值完成后第一文件就不用了 我们要第一时间关闭 

fclose(pf);

pf = 0;

fopen(&fd,"C://Users//Administrator//Desktop//777","wb");

fwite(fd,1,size,fp);

然后关闭 指针指向空就行了

fclose(pf);

pf = 0;

记得我们的fd 是malloc 出来的记得释放掉

free(fd);

fd = 0;

http://www.dtcms.com/a/420160.html

相关文章:

  • 吴忠住房和城乡建设网站成都官网seo技术
  • 惠州建网站服务天津专业网站制作流程优势
  • 北京联通网站备案php 网站模板
  • 清河做网站哪里好齐河网站建设
  • CodeBuddy CLI工具深度测评:从零到一实现鸿蒙游戏开发实践
  • 网站前后台模板服务专业的网站建设服务
  • 资讯网站策划怎么写龙岗公司网站
  • fr后缀网站在线做logo
  • 茶楼 网站免费网站建设域名
  • NeRF+3DGS——提升渲染质量与压缩模型参数
  • Appcelerator打包ipa有哪些优势
  • 五华建设银行网站宁波seo网络推广优化价格
  • 网站目录结构说明上海网络建站模板
  • 佛山网站制作流程推广网站实例
  • 阿里云服务器做网站djangowordpress后台500错误
  • Nginx proxy_pass 末尾斜杠(/)
  • 【MySQL】图书管理系统
  • 1.简述网站建设流程网站内页做友链
  • 做淘宝客要自己的网站建设网站的简单编程语言
  • 数据结构 01 线性表
  • 为什么有的网站打不开WordPress京东自动转链插件
  • MySQL——数据库基础与库的操作
  • 网站建站上市公司国外论文类网站有哪些方面
  • 网站建设有哪些分工分建筑网站、
  • asp网站改php网站方法wordpress禁用修正版
  • 堆 动态内存 超级玛丽demo7
  • 空壳网站查询WordPress下拉菜单栏
  • 《高并发架构实战课》学习笔记
  • 网站备案 人工审核平面设计需要用到的软件
  • 网站301跳转怎么做的安阳市网站建设