fopen(..., "wb") ?

It's C library taking care of the "b" part for you according to the article.

It's the other way around. It's the C runtime that treats text ("t") mode differently, because the C standard specifies \n as a line delimiter but the Windows convention is \r\n. In text mode C stdio translates between \n and \r\n. In binary mode it does no translation.

Note that when neither is supplied, the text mode is the default. This is why I said that it is the C library handling the "b" flag.