文件的分类:

文本文件:  存储的是ASCII码值的二进制
二进制文件:    存储的是数据的补码

文件IO:

FILE *fopen(const char *path, const char *mode);
功能:打开或者创建文件
path:文件的路径
mode:打开模式r   以只读权限打开文件,如果该文件不存在则打开失败r+  在r的基础上,增加写权限w   以只写权限打开文件,如果文件不存在则创建,如果文件存在则会清空w+  在w的基础上,增加读权限a   以追加的形式打开文件,如果文件不存在则新建,如果文件存在则不清空,新写入的数据会在文件的文件。a+  在a的基础上,增加读权限注意:以上方式打开文件都是以文本文件形式来操作文件的,在它们的基础加上b表示以二进制形式操作文件。rb wb wb+返回值:结构指针,不需要关心它的成员,只需要知道它是操作该文件的唯一凭证。二进制形式的读写:【人无法直接读懂文件】
size_t fwrite(const void *ptr,size_t size,size_t nmemb,FILE *stream);
功能:从内存中把数据写入到文件中
ptr:要写入的内存的首地址
size:一次写入的字节数
nmemb:写入多少次
FILE*:文件指针,fopen的返回值
返回值:成功写入的次数size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
功能:从文件中读取数据到内存中
ptr:要读取到内存的首地址
size:每次读取多少个字节
nmemb:读取多少次
FILE*:文件指针
返回值:成功读取到的次数文本形式的读写【人能直接看懂文件】
int fprintf(FILE *stream, const char *format, ...);
功能:以文本形式写入数据到文件中
stream:要写入的文件指针
format:占位符...
...:变量列表
返回值:int fscanf(FILE *stream, const char *format, ...);
功能:以文本形式从文件中读取数据到内存中
stream:要写入的文件指针
format:占位符...
...:变量列表的地址
返回值:成功读取到的变量的个数int fclose(FILE *fp);
功能:关闭文件(因为有缓冲区的存在,想要立即写入到文件,关闭一下文件)文件位置指针:每个打开的文件都会有一个文件位置指针指向要读写的位置,它会随着文件的读写而移动,以r、r+、w、w+模式打开文件,文件位置指针会在文件的开头,以a\a+打开,文件位置指针会在文件的末尾int fseek(FILE *stream, long offset, int whence);功能:设置文件的位置指针stream:要设置的文件指针offset:偏移值whence:基础位置SEEK_SET:文件的开头SEEK_CUR: 文件指针的当前位置SEEK_END: 文件的末尾返回值:成功返回0,失败返回-1void rewind(FILE *stream);功能:把文件位置指针设置到文件开头long ftell(FILE *stream);功能:获取文件位置指针当前所在的位置返回:所在第几个字节int feof(FILE *stream);功能:检查文件位置指针是否已经到达末尾返回值:如果到达末尾返回非零值char *fgets(char *s, int size, FILE *stream);功能:从文件中读取一行字符串int fputs(const char *s, FILE *stream);功能:写入一个字符串到文件中,会自动添加\n在末尾int fgetc(FILE *stream);功能:从文件中读取一个字符int fputc(int c, FILE *stream);功能:写入一个字符到文件中int remove(const char *pathname);功能:删除一个文件返回值:成功返回0,失败返回-1int rename(const char *oldpath, const char *newpath);功能:重命名文件返回值:成功返回0,失败返回-1main函数的参数:是为了获取命令行的参数    argc    代表了命令行参数的总个数argv    代表了每个参数字符串的首地址

学习笔记18-C语言-文件相关推荐

  1. 游戏开发学习笔记——lua脚本语言——安装、汉化与小测试(解决lua运行代码乱码问题)

    游戏开发学习笔记--lua脚本语言--安装.汉化与小测试 FOR THE SIGMA FOR THE GTINDER FOR THE ROBOMASTER 简介: Lua 是一种轻量小巧的脚本语言,用 ...

  2. R语言小白学习笔记3—R语言读取数据

    R语言小白学习笔记3-R语言读取数据 笔记链接 想说的话 学习笔记3-R语言读取数据 3.1 读取CSV文件 3.1.1 read_delim函数 3.1.2 fread函数 3.2 读取Excel数 ...

  3. [python教程入门学习]python学习笔记(CMD执行文件并传入参数)

    本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...

  4. Hadoop学习笔记—18.Sqoop框架学习

    Hadoop学习笔记-18.Sqoop框架学习 一.Sqoop基础:连接关系型数据库与Hadoop的桥梁 1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据 ...

  5. 23 DesignPatterns学习笔记:C++语言实现 --- 2.2 Adapter

    23 DesignPatterns学习笔记:C++语言实现 --- 2.2 Adapter 2016-07-22 (www.cnblogs.com/icmzn) 模式理解 1. Adapter 定义 ...

  6. oracle的脚本日志,学习笔记:Oracle alert日志文件巡检脚本

    天萃荷净 分享一篇Oracle alert日志文件巡检脚本 每天都检查oracle日志,所以写了一个比较完善的shell,让其自动处理,在运行程序之前,需要在该脚本目录下新建tmp目录 #!/usr/ ...

  7. 23 DesignPatterns学习笔记:C++语言实现 --- 1.2 AbstractFactory

    23 DesignPatterns学习笔记:C++语言实现 --- 1.2 AbstractFactory 2016-07-21 (www.cnblogs.com/icmzn) 模式理解   1. F ...

  8. Python学习笔记18:实操案例十五(记录用户登录日志,模拟淘宝客服自动回复)

    Python学习笔记18:实操案例十五(记录用户登录日志,模拟淘宝客服自动回复) 网课传送门:https://www.bilibili.com/video/BV1Sw411Z779?p=168& ...

  9. c语言注释语句执行吗,C语言学习笔记之C语言概念解析(附资料分享)每一个语句都必须以分号结尾但预处理命令函数头和花括号“}”之后不能加分号...

    [[怪兽爱C语言]C语言学习笔记之C语言概念解析(附资料分享)]https://toutiao.com/group/6582429294901854728/?iid=15906422033&a ...

  10. golang学习笔记之--Go语言内建容器

    话接上文 <golang学习笔记之--Go语言基本语法> 今天继续记录学习笔记,今天的笔记主题是Go语言内建容器 如果各位童鞋想要获得下面的源码,请搜索gzh:隔壁王小猿,关注后回复&qu ...

最新文章

  1. 云服务器ECS挖矿木马病毒处理和解决方案
  2. 不使用vue-cli来创建项目
  3. Binder通信机制介绍
  4. 基于深度学习的交通标识别算法对比研究-TensorFlow2实现
  5. python 保存json时最后一个多了一个逗号_从json obj的最后一个对象中删除逗号
  6. Spring MVC--接收JSON格式的数据
  7. 外籍主管眼中的阿里巴巴
  8. javascript的一些基本概念
  9. svn--Eclipse版本的安装步骤
  10. python入门基础系列八_03python—9个基础常识-python小白入门系列
  11. 计算机术语中cook,计算机中的cookie是什么意思
  12. 逻辑回归算法深度思考-优点和缺点
  13. Learning with Pseudo-Ensembles
  14. Java游戏用户登录注册_用java类模拟游戏的账号的登陆,注册,退出。 1.没有账号,需要注册。 2.注册完成后方可登...
  15. IPv4/IPv6地址范围与网络地址/子网掩码的转换,点分十进制与数字掩码的转换
  16. Source Insight是一个面向项目开发的程序编辑器和代码浏览器丨产品简介
  17. mac 时间机器备份慢? 首次备份限速解除!
  18. PhotoShop使用1 - 图片的新建,裁剪,图像大小的修改,移动工具
  19. GE董事长兼首席执行官杰夫.伊梅尔特上任第一年致诸位股东、客户与员工(中英文)
  20. Gitlab和Crowd共享账户集成登入

热门文章

  1. java正确的代码_对文件名为Test.java的java代码描述正确的是()
  2. 交叉编译termcap1.3.1
  3. VxWorks平台下计算cpu的利用率
  4. matlab如何测两点的角度_根据2点经纬度,计算方位角,以及计算2条线的夹角
  5. java视窗_java-预览窗口(如Windows 7任务栏显示已打开的...
  6. 正则匹配括号里面的内容不包括括号_python正则表达式
  7. 【转】DICOM开发工具总结
  8. 【转】编译DCMTK
  9. 【转】WPF默认控件模板的获取和资源词典的使用
  10. 中发生数据丢失_如何防止Redis脑裂导致数据丢失?