这一章我们先来了解一下文件是什么?

一个文件通常就是磁盘上的一段命名的存储区。如我们在C语言编程中经常引入的stdio.h就是一个包含一些有用信息的文件的名称。当然对于操作系统来说,文件就会更复杂一些,例如一个大文件可以存储在一些分散的区段中,有些还会包含一些使用操作系统可以确定其文件类型的附加数据。当然这些是操作系统在干的,其实我们编程时并不需要考虑,我们只需要考虑C程序中怎么处理文件。

C将文件看成是连续的字节序列,其中每一个字节都可以单独的读取。

好了废话不多说,今天我们就先来用c打开一个文件:

c提供了一个fopen函数可以来打开文件,这个函数在stdio.h中声明,它的原型如下:FILE *fopen (const char *__restrict __filename, const char *__restrict __modes)

它的第一个参数是要打开的文件名,或者说是包含文件名的字符串的地址,第二个参数是用什么模式进行打开.

我们先来了解一下fopen函数的模式字符串

当然对于向unix和linux这样只有一种文件类型的系统,带b字母的模式和对应的不带b字母的模式是相同的。

这里需要注意的是使用任何一种带"w"的模式打开一个已有文件,文件都会被清空。

我们来看一个例子:

好,现在我们在在这个程序里再用w模式打开一次,看看test.txt文本有没有发生什么变化。

可以看到文本已经被清空。

好了看了上面的代码,我们看到,有一个函数fclose,这个函数用来关闭由指针fp指定的文件,同时根据需要刷新缓冲区。当然你还可以检查文件关闭是否成功,关闭成功返回为0,不成功则返回EOF(文件结尾)。在磁盘已满,磁盘被移走或者出现I/O错误等等都会导致关闭失败。

好了很久没有作业了,今天就来一个:

先用只写方式打开一个文件,写入abcd,然后用附加方式打开这个文件写入efgh,大家可以在评论区将代码发出来哦。

怎么用stata打开dta文件_第三十二章、用c语言打开文件相关推荐

  1. 1709 ltsb 内存占用_「正点原子STM32Mini板资料连载」第三十二章 内存管理实验

    1)实验平台:正点原子STM32mini开发板 2)摘自<正点原子STM32 不完全手册(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 第三十二章 内存管理实验 上一章,我 ...

  2. 唐 库利超级计算机,第七卷 乖离性 百万亚瑟王_第二百五十二章 绝望中的希望...

    第七卷 乖离性 百万亚瑟王_第二百五十二章 绝望中的希望 赫布里底训练大厅. "诸位,结果已经分析出来了,丘库林,也就是被你们捉到的闯入者,他身上的神装的确是断绝时代的遗物不错,而且,这件神 ...

  3. python库读取cif文件_技术专栏:一篇文章搞懂晶体学信息文件CIF及其获取方法

    [引语]材料人现在设立各种文章专栏,所涉及领域正在慢慢完善,由此也需要更多的专栏作者,没错,我们正在招兵买马,期待你们的加入,有意向的小伙伴可直接联系cailiaorenVIP.不要再犹豫,下一个专栏 ...

  4. 三十二、深入Python中的文件操作

    @Author: Runsen 任何语言都离不开对文件的操作,那么Python语言是如何来操作和管理文件的. 文章目录 编码方式 文件操作的API 打开文件 mode 读取文件 写入文件 指针操作 上 ...

  5. 狸窝全能转换器安卓版_第三十二讲 如何运用“狸窝”剪辑视频

    如何运用"狸窝"剪辑视频 在PPT制作中,视频的插入运用已很普遍.PPT视频都是由老师们精心选择之后呈现给学生的最具代表性的内容,由于课时有限,课堂上呈现的视频时间比较短暂,就需要 ...

  6. matlab腐蚀膨胀代码_(三十二)形态学----膨胀和腐蚀

    时间为友,记录点滴. 我们在<初始滤波之均值滤波>中有聊过滤波的本质,以及介绍了其中一种线性滤波(均值滤波).对于常见的非线性滤波"中值滤波"也在<视频的读取和处 ...

  7. android 模糊查询控件_第三十二篇:在SOUI2.0中像android一样使用资源

    SOUI2.0之前,在SOUI中使用资源通常是直接使用这个资源的name(一个字符串)来引用.使用字符串的好处在于字符串能够表达这个资源的意义,因此使用字符串也是现代UI引擎常用的方式.尽管直接使用字 ...

  8. recv函数_第五十二章、send和recv函数

    套接字之间一旦建立了连接,那么就可以传送数据了,上一章我们使用的是标准读写函数read和write,这一章我们再来学习另外两个函数recv和send函数. recv和send函数只能用于套接字,还需要 ...

  9. 新版标准日本语初级_第三十二课

    语法   1. 动(基本形/ない形) つもりです:表示说话之前已经形成的意志.打算,和动词意志形 + と思っています意思相同. 今度の日曜日に遊園地へ行くつもりです(这个星期天打算去游乐园) ボーナス ...

最新文章

  1. linux怎么运行exam,《 rh124-exam》linux练习
  2. 用 Arthas “庖丁解牛”
  3. SAP2014年最新版本EHP7安装经验分享
  4. Alfresco Community 批量导入指南
  5. 20155222 2016-2017-2 《Java程序设计》第8周学习总结
  6. python设计模式10-外观模式
  7. myEclipse怎样将程序部署到tomcat(附录MyEclipse调试快捷键)
  8. String类中的常用方法
  9. 刷新存储器的容量单位是什么_SRAM的容量扩展
  10. Ojbect-C     NSArray和NSMutableArray数组的使用   有关API查询
  11. R语言安装及包的使用
  12. WebEx Recorder 录屏软件
  13. 计算机毕业设计-网上购书系统【代码讲解+安装调试+文档指导】
  14. pycharm中TODO注释
  15. MediaRecorder之视频录制
  16. 在Python中使用Pandas.DataFrame对Excel操作笔记一 - 从Excel里面获取说需要的信息
  17. PyCharm如何自定义调整字体大小的快捷键
  18. html用户名标签,HTML常用标签
  19. 大学生学计算机打字速度,浅谈提高小学生计算机打字速度
  20. Dell Precision7920工作站装双系统

热门文章

  1. 字符数组 字符插入(c语言)
  2. JDBC-----什么是JDBC
  3. PhyGeoNet一种可用于不规则区域的物理信息极限学习机
  4. 创业遇到困难怎么解决,解决困难是创业成功的关键
  5. ENVI: 如何添加控制点并基于控制点进行几何校正?
  6. 施工工地考勤防作弊通道系统,建筑工地通道系统管理方案
  7. JSONObject.toBean() 把jsonobject转换成实体类
  8. 七种常见的数据分析法之:可行域分析
  9. Java游戏开发 —— 象棋
  10. Oracle应用之to_char(参数,'FM990.00')函数