I do not understand the difference between the "ab"
and "rb+"
modes when using fopen()
in C.
Why would I choose one instead of the other?
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With