I have used this several times in the past for writing to files. Is there a problem with this? I'm just writing text. I have never had any issues. What is the difference with the binary file? I thought binary files usually weren't readable. I read those two links and they don't really explain it.
FILE *init_dat_fp;
init_dat_fp = fopen (argv[1], "wb");
http://www.tutorialspoint.com/c_standard_library/c_function_fopen.htm
http://www.cplusplus.com/reference/cstdio/fopen/