Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

C - freopen or freopen_s

Name: Anonymous 2014-02-08 16:01

These functions, declared inside stdio.h, both have one thing that I couldn't find the use of:


== FILE * freopen( "asd.txt", "r+", oneFILE*variable ); ==

Why does this shit return a (FILE *)?
- The oneFILE*variable gets its previously held file closed, all good.
- The oneFILE*variable gets loaded with the "asd.txt" with "r+" attribute, all good.

Then the function fucking returns the same pointer, again, the same thing that has been fucking stored inside the oneFILE*variable, why?


== errno_t freopen_s( ONEdummyFILE**variable, "asd.txt", "r+", oneFILE*variable ) ==

Same shit again, why am I giving a retarded, no-use, dummy FILE** variable?

What the fuck is this? Does it have another explanation?

Name: Anonymous 2014-02-08 17:47

freopen_s is Microsoft's idea. No idea why they did that, but MS used macros/templates/overloads to convert normal C++ code to use the functions so they probably wanted the conversion to be as mechanical as possible. Since freopen could fail, it can return NULL.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List