fopen/fclose/fgets/fputs and the like are the "ideal" functions to use, but they're a bit harder to use (unless you've had prior experience with them in C) than read_file/write_file.
read_file especially is a very expensive native when used in a medium to large sized file. It's fine if used only for a couple of lines, but ideally you should use fgets() (and, obviously fopen()/fclose()) instead for anything large or speed-critical.