Не зная о некоторых настройках, я могу только сделать квалифицированное предположение.
Например, в зависимости от того, как вы скомпилируете, UNICODE или! UNICODE, CString ведет себя по-разному, то есть сопоставляется с CStringA или CStringW.CString также ведет себя по-разному в зависимости от версии MFC, в некоторых случаях есть оператор для неявного преобразования в строку ac, а в некоторых нет.
Обычно ofstream ожидает, что в качестве аргумента используется const char *, поэтому вы можете захотетьчтобы изменить его на
ofstream outfile(filename.GetBuffer(255));
в этом случае.
РЕДАКТИРОВАТЬ:
Вы проверяли, можете ли вы открыть файл?из приведенного выше кода кажется, вы предполагаете успех ...
if ( outfile.is_open() )
...