fopen returns a NULL pointer if it fails