zoukankan      html  css  js  c++  java
  • 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+

    新建

    结尾

     任意位置读取 

     只能尾部写入 

    -

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

     

  • 相关阅读:
    C# 图解教程 第一章 C#和.NET框架
    How I explained OOD to my wife(转)
    ListView 无 DataSource 依然用 DataPager 翻页
    【树莓派】crontab的两个问题
    【CentOS 7】scp示例
    【CentOS 7】nginx配置web服务器
    【CentOS_7】安装nginx
    【python 2.7】获取外部参数
    【python 2.7】输入任意字母数字,输出其对应的莫尔斯码并播放声音
    【python 2.7】python读取json数据存入MySQL
  • 原文地址:https://www.cnblogs.com/kangjianwei101/p/5220021.html
Copyright © 2011-2022 走看看