C零基础视频-47-C语言操作文件

C语言文件操作函数

C标准库中提供了一系列的函数,来操作文件。因为C库函数做了这个中间层,屏蔽掉了操作系统上对于文件的不同处理。

关于文件的常见基本操作有:

  • 打开文件:创建文件或打开文件载体(磁盘)中已有的文件
  • 关闭文件:类似free,释放掉内存中与文件有关的动态资源
  • 读取文件:数据由文件载体(磁盘)到内存
  • 写入文件:数据由内存到文件载体(磁盘)

fopen:打开或创建文件

fopen的原型为:

FILE *fopen( char *filename, char *mode );

它的两个参数:

  • filename:需要打开或者创建的文件的文件名
  • mode:相关属性,如只读、只写、是否新建等

它的返回值,是一个指向FILE结构体的指针。FILE结构体,就是C库函数对文件的抽象封装,里面记录了文件各种信息。不过我们不用了解FILE内部的细节,因为我们不会直接操作FILE结构体,而是通过FILE*指针以及各种C库函数去间接操作FILE结构体。

以下代码,可以创建一个文件,并往其中写入字符串:

#include <stdio.h>
#include <string.h>

int main(int argc, char* argv[])
{
    FILE* pFile = fopen("mytest.txt", "w");
    char szBuff[] = "helloworld";

    fwrite(szBuff, 1, strlen(szBuff), pFile);
    fclose(pFile);
    return 0;
}

fopen中的mode参数

fopen中的mode参数是一个字符串,可以是以下情况的选择:

  • r:只读方式打开,且文件必须已经存在
  • w:以只写方式创建文件,如果文件已经存在,会先删除原有文件的内容
  • a:以附加方式打开文件,不会删除原有文件内容,而是默认将内容写在文件的末尾
  • r+:读写方式
  • w+:读写方式
  • a+:附加及都方式

fclose:关闭文件

fclose类似free的作用,告之C库函数可以关闭已经打开的文件,并回收相关资源。

    if (pFile != NULL)
    {
        fclose(pFile);
        pFile = NULL;
    }

猜你喜欢

转载自www.cnblogs.com/shellmad/p/11695710.html