分享

最全C语言文件操作谈不上,C语言基础教程之文件操作

 静幻堂 2018-08-17
最全C语言文件操作谈不上,C语言基础教程之文件操作

一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节。C 语言不仅提供了访问顶层的函数,也提供了底层(OS)调用来处理存储设备上的文件。文件管理的基本流程如下:

  • 打开文件
  • 读写文件
  • 关闭文件

打开文件

最全C语言文件操作谈不上,C语言基础教程之文件操作

更多C/C++学习资料,请私信我“代码”,即可获取

您可以使用 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件,这个调用会初始化类型 FILE 的一个对象,类型 FILE 包含了所有用来控制流的必要的信息。下面是这个函数调用的原型:

 

更多C/C++学习资料,请私信我“代码”,即可获取

在这里,filename 是字符串,用来命名文件,访问模式mode 有一下取值情况:

最全C语言文件操作谈不上,C语言基础教程之文件操作

如果处理的是二进制文件,则需使用下面的访问模式来取代上面的访问模式:

"rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"

关闭文件

为了关闭文件,请使用 fclose( ) 函数。函数的原型: int fclose( FILE *fp );

如果成功关闭文件,fclose( ) 函数返回零,如果关闭文件时发生错误,函数返回 EOF。这个函数实际上,会清空缓冲区中的数据,关闭文件,并释放用于该文件的所有内存。EOF 是一个定义在头文件 stdio.h 中的常量。C语言 标准库提供了各种函数来按字符或者以固定长度字符串的形式读写文件。

写入文件

字符的形式写入:int fputc( int c, FILE *fp );

字符串的形式写入:int fputs( const char *s, FILE *fp );

格式化写入:int fprintf(FILE *fp,const char *format, ...)

最全C语言文件操作谈不上,C语言基础教程之文件操作

读取文件

下面是从文件读取单个字符的最简单的函数:

字符的形式读取:int fgetc(FILE *fp );

字符串的形式读取:char *fgets( char *buf, int n, FILE *fp );

格式化读取: int fscanf(FILE *fp, const char *format, ...);

最全C语言文件操作谈不上,C语言基础教程之文件操作

更多C/C++学习资料,请私信我“代码”,即可获取

二进制 I/O 函数

最全C语言文件操作谈不上,C语言基础教程之文件操作

更多C/C++学习资料,请私信我“代码”,即可获取

下面两个函数用于二进制输入和输出:

最全C语言文件操作谈不上,C语言基础教程之文件操作

这两个函数都是用于存储块的读写 - 通常是数组或结构体。

文件指针

移动文件指针到指定位置读,或插入写:int fseek(FILE *stream, long offset, int whence);

fseek 设置当前读写点到 offset 处, whence 可以是 SEEK_SET,SEEK_CUR,SEEK_END 这些值决定是从文件头、当前点和文件尾计算偏移量 offset。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多