天天看点

C语言文件打开模式(r/w/a/r+/w+/a+/rb/wb/ab/rb+/wb+/ab+)浅析

--> 最新链接

C语言文件打开模式浅析

    在C语言的文件操作语法中,打开文件文件有以下12种模式,如下图:

打开模式  只可以读   只可以写  读写兼备
文本模式 r w a r+ w+ a+
二进制模式 rb wb ab  rb+ (r+b)   wb+ (w+b)   ab+ (a+b) 

    其中,二进制模式与文本模式操作相似,只不过是以二进制流的形式读写而已,下面以文本模式为例分析:

    1."r" 模式:

      1.1 打开文件进行“只读”操作,即只能从文件读取内容。

      1.2 若欲操作的文件不存在,则打开失败。

      1.3 成功打开文件时,文件指针位于文件开头。

      1.4 打开文件后,不会清空文件内原有内容。

      1.5 可从文件中任意位置读取内容。

    2."w" 模式:

      2.1 打开文件进行“只写”操作,即只能向文件写入内容。

      2.2 若欲操作的文件不存在,则新建文件。

      2.3 成功打开文件时,文件指针位于文件开头。

      2.4 打开文件后,会清空文件内原有的内容。

      2.5 可向文件中任意位置写入内容,且进行写入操作时,会覆盖原有位置的内容。

    3."a" 模式:

      3.1 打开文件进行“追加”操作,即只能向文件写入内容。

      3.2 若欲操作的文件不存在,则新建文件。

      3.3 成功打开文件时,文件指针位于文件结尾。

      3.4 打开文件后,不会清空文件内原有内容。

      3.5 只能向文件末尾追加(写)内容。

    4."r+"模式:

      4.1 打开文件进行“读写”操作,即既可读取,又可写入。

      4.2 若欲操作的文件不存在,则打开失败。

      4.3 成功打开文件时,文件指针位于文件开头。

      4.4 打开文件后,不会清空文件内原有内容。

      4.5 无论是读取内容还是写入内容,都可在文件中任意位置进行,且进行写入操作时,会覆盖原有位置的内容。

    5."w+"模式:

      5.1 打开文件进行“读写”操作,即既可读取,又可写入。

      5.2 若欲操作的文件不存在,则新建文件。

      5.3 成功打开文件时,文件指针位于文件开头。

      5.4 打开文件后,会清空文件内原有的内容。

      5.5 无论是读取内容还是写入内容,都可在文件中任意位置进行,且进行写入操作时,会覆盖原有位置的内容。

    6."a+"模式:

      6.1 打开文件进行“读写”操作,即既可读取,又可写入。

      6.2 若欲操作的文件不存在,则新建文件。

      6.3 成功打开文件时,文件指针位于文件结尾。

      6.4 打开文件后,不会清空文件内原有内容。

      6.5 读取内容时,可以在任意位置进行,但写入内容时,只会追加在文件尾部。

    附表格加强记忆:

 打开模式   简述 

 若欲操作的 

 文件不存在 

 成功打开文件后 

文件指针位置

 是否清空 

 原有内容 

读取位置 写入位置
r 只读 打开失败 开头  任意位置读取  不可写入 -
w 只写 新建 开头 不可读取  任意位置写入   写入时会覆盖原有位置内容 
a 新建 结尾 不可读取  只能尾部写入  -
r+ 读写 打开失败 开头  任意位置读取   任意位置写入   写入时会覆盖原有位置内容 
w+ 新建 开头  任意位置读取   任意位置写入   写入时会覆盖原有位置内容 
a+ 新建 结尾  任意位置读取   只能尾部写入  -

    不同的打开模式对应不同的操作方式,使用时需仔细规划。

继续阅读