str.format输出乱码

如该示例,str.Format(L"相似度:%f\t视频名称:%s\t起始位置:%d\r\n",tmp[0].dblSimilarity,tmp[0].szFileName,tmp[0].nFrame);

szFileName是一个char[260]字符数组如下图

结果str字符串格式化后变成这样

 

不要这个L转成宽字符的话, 又会报错

应该就是szFileName再转L的时候出的错,于是想到把这一段字符串和str拼接起来

 

1 CString str;
2 str.Format(L"相似度:%f\t起始位置:%d\r\n",tmp[0].dblSimilarity,tmp[0].nFrame);
3 str+=tmp[0].szFileName;

于是不但能通过编译,断点查看后,str为

- str "相似度:0.318576 起始位置:149
c:\Users\Kira\Desktop\VideoProcess2017年11月20\VideoProcess\VideoProcess\TempVideo\10.mp4" ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >

成功!

 

图片显示好像被压缩了。囧

 

posted @ 2017-12-05 14:57  单纯的心  阅读(1101)  评论(0编辑  收藏  举报