zoukankan      html  css  js  c++  java
  • 为什么fopen的参数这么奇怪呢?

    FILE* fopen(const char*,const char* type)

    大一刚学编程的时候就对fopen的参数很迷惑,今天仔细思考了fopen的参数的格式,我觉得参数设计得很不合理

    fopen的格式是这样:

    r     读

    w    写,文件截断为0

    a    写,添加模式

    +    读+写

    b      二进制打开

    rwa是主位,+b是修饰位  

    但是我认为这个接口并不友好,因为这几个字符的功能并不是正交的

    rwa看上去就是分别代表read write append,仅仅是看上去而已,但是w竟然还有截短的功能,而a也暗含了write的意思,+则表示读写.用的时候还得去回忆这几个字符代表的意思,非常不直观

    如果让我设计这个功能,直接用位掩码好了,或者用让每个字符只表示一个意思,r-read w-write a-append b-binary t-截短

    如果想打开读写文件,用"rw",要截短,用"rwt",再加上二进制"rwtb"

  • 相关阅读:
    danci8
    禁止选择文本
    danci6
    danci5
    java 学习编译
    自动代码模板文件
    java 学习5 .io
    java 学习4 callback 回调 和泛型
    java 学习3。集合
    java 学习3。类 和 继承
  • 原文地址:https://www.cnblogs.com/mightofcode/p/2818851.html
Copyright © 2011-2022 走看看