You need to allow space for the terminating NULLs. In C the string "te" is represented by the THREE characters 't', 'e' and 0. Most string functions depend on this, so while you CAN store 't' and 'e' in a char[2] you really need to know what you are doing.

Secondly you need to know what const means. It means something is a constant and can't be changed. So don't make stuff const that you want to change.

sizeof(file1) will give you the size of the structure, not the size of one of its elements.

ALWAYS clean up resources you allocate. This means you need an fclose somewhere.