What is the difference between “rb+” and “ab” in fopen()?

前端 未结 1 1360
长情又很酷
长情又很酷 2020-12-21 06:22

I do not understand the difference between the \"ab\" and \"rb+\" modes when using fopen() in C.

Why would I choose one instea

相关标签:
1条回答
  • 2020-12-21 07:26

    With the mode specifiers above the file is open as a text file. In order to open a file as a binary file, a "b" character has to be included in the mode string. This additional "b" character can either be appended at the end of the string (thus making the following compound modes: "rb", "wb", "ab", "r+b", "w+b", "a+b") or be inserted between the letter and the "+" sign for the mixed modes ("rb+", "wb+", "ab+").

    From fopen documentation which I advise you read before asking questions. It will give you a lot of information about possible parameters, return values, similar functions etc.

    Also, from the same document :

    "a" = append: Open file for output at the end of a file. Output operations always write data at the end of the file, expanding it. Repositioning operations (fseek, fsetpos, rewind) are ignored. The file is created if it does not exist.

    "r+" = read/update: Open a file for update (both for input and output). The file must exist.

    0 讨论(0)
提交回复
热议问题