I am new to C, and by looking to the declaration of fopen() function:
FILE *fopen(const char *filename, const char *mode)
I noticed the use of "const" before the two parameters, as far as I know about constants in C, they are used only in variables, arrays, etc, that you do not want to have their value changed during the execution of the program, since I always pass a value to fopen() function, wouldn't these two "const" trow an error (since "const" should not let the user give a new value to a variable, so it should not let you give a value to "const char *filename" and "const char *mode")?