这一句
str = str + "rn";
改成
str = str + _T("rn");
应该是由于开启了Unicode.所以CString内部类型实际是wchar_t而不是char,你在操作裸字符串的时候也要加上_T()宏以表示是宽字符集.