The problem is the archive file you have does not have all of the values that you are trying to read. Maybe you added or changed a parameter since the archive file was saved. What you can do is to put a TRY-CATCH with a CArchiveException around the ar >> m_text4... line to catch the exception and recover.
If you have different versions of the data that you store, a good practice would be to add a DWORD at the beginning of your archive file that tells the version of the data file. Anytime you change the data in the archive file, then increment the version number and load the archive file accordingly. So for example: