• 为什么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"

  • 相关阅读:
    走亲访友
    分而治之
    红色警报
    小字辈
    最长对称子串
    树的遍历
    acwing练习
    组合计数
    同余
    乘法逆元
  • 原文地址:https://www.cnblogs.com/mightofcode/p/2818851.html
Copyright © 2020-2023  润新知