• 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+

    新建

    结尾

     任意位置读取 

     只能尾部写入 

    -

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

  • 相关阅读:
    HDU 2080 夹角有多大II
    HDU 1412 {A} + {B}
    HDU 2034 人见人爱A-B
    二分查找模版
    Matlab debug
    随机梯度下降(Stochastic gradient descent)和 批量梯度下降(Batch gradient descent )的公式对比、实现对比
    拟牛顿法/Quasi-Newton,DFP算法/Davidon-Fletcher-Powell,及BFGS算法/Broyden-Fletcher-Goldfarb-Shanno
    ActionBar点击弹出下拉框操作
    CentOS 64位上编译 Hadoop 2.6.0
    ViewController的生命周期
  • 原文地址:https://www.cnblogs.com/Lunais/p/9968151.html
Copyright © 2020-2023  润新知