According to the documentation of fopen from http://www.cplusplus.com/reference/cstdio/fopen/
The file opens successfully is the function returns a non-null pointer:
If the file is successfully opened, the function returns a pointer to a FILE object that can be used to identify the stream on future operations. Otherwise, a null pointer is returned.
So because your variable new_file
(not new_file->_ptr
) is valid, the file should be opened.