【C++】CString.Format(_T())输出乱码的问题

问题

        最近给导师干活,需要将一段VC++代码格式化输出到txt文件当中,但是输出到txt文件当中会出现乱码,如下所示:

         该段代码如下:

ss.Format(L"%5d %5d %5d %5d %5d%5d%5d%5d%5d\n", (int)n0, (int)nh, (int)m0, (int)npp, (int)npn, (int)NR0, (int)NR1, (int)Iprt, (int)Nprtc);
outfile << ss;

解决方案

解决方案一:将CString转换为char

        在该代码段最前页添加引用:

#include <afxpriv.h>

        然后将原代码段修改为:

ss.Format(L"%5d %5d %5d %5d %5d%5d%5d%5d%5d\n", (int)n0, (int)nh, (int)m0, (int)npp, (int)npn, (int)NR0, (int)NR1, (int)Iprt, (int)Nprtc);
//outfile << ss;
outfile << CT2A(ss.GetBuffer());

解决方案二:将字符集修改为->多字符集

        对程序点击右键->属性,进入如下界面框,选择“ 使用多字节字符集 ”即可。

posted @ 2022-10-25 23:33  _Lisx  阅读(224)  评论(0)    收藏  举报  来源