2 jujiawu1024 jujiawu1024 于 2016.02.25 21:43 提问

CString作为文件名保存文件,存在乱码的现象

如何把CString的字符串放入文件保存对话框中,为什么文件名后面存在乱码的现象?

3个回答

caozhy
caozhy   Ds   Rxr 2016.03.20 21:47
已采纳

看下文件名后面的 \0 是否存在,是否没有截断字符串,以及你的字符串缓冲区长度是否足够

oyljerry
oyljerry   Ds   Rxr 2016.02.25 22:02

注意字符串编码格式 和文件编码格式

wilesilly
wilesilly   2016.02.25 22:03

_T(""),使用Unicode字符

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
解决php保存文件时文件名乱码问题
参考了phpchina的《怎么解决上传时中文文件名乱码问题》一文。 由于系统是gb2312作为文件名编码,所以utf-8的php文件生成的中文名肯定乱码。我们需要在存储时对编码进行转换。move_uploaded_file($temploadfile,iconv("utf-8","gb2312",$uploadfile))
将CString类型数据保存到txt文本文件中(Unicode下无乱码)
1、保存为Unicode
MFC总结(17) --- CString 参数传递问题
标题:MFC中关于CString 参数传递 作者:厚道心得 原文章地址:http://blog.sina.com.cn/s/blog_3f59eb3d010008a8.html   当定义类接口时,必须确定为成员函数确定参数传递约定。现在有一些传递和返回 CString 对象的标准规则。如果遵循作为函数输入的字符串和作为函数输出的字符串中所述的规则,那么将得到正确而又有效
保存CString字符串到文件
// 保存CString字符串到文件 bool CChatDlg::SaveSecretTalk( CString strTalkContent ) { // 选择路径对话框 CFileDialog dlgFile( FALSE, _T("txt"), NULL, OFN_NOCHANGEDIR | OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_CRE
输出文件时文件名称乱码
HttpUtility.UrlEncode("重复_" + txtfile.FileName, System.Text.Encoding.UTF8) 把文件名称转成utf-8格式
VC文件操作:保存文件对话框 OPENFILENAME 代码
void COpenDlg::OnSave()  {         CString strPath,strText="";         char write[30000];         OPENFILENAME ofn;         ZeroMemory(&ofn,sizeof(ofn));         ofn.lStructSize=sizeof(ofn);  
CString作为参数传递的大问题
CString 有一套传递和返回的标准准则,如果不准循该准则,在编译时,编译器能通过。但链接时,会提示该函数不可解析。 准则如下: 1.   如果CString 对象要作为函数的输入参数,在大多数情况下,最好将其转换为LPCTSTR,然后在函数中根据需要使用构造函数或赋值运算将其转换回来。 2.   如果CString对象作为一个要该变值的参数,可以使用CString&. 3.  如果CS
MFC 以当前的时间作为文件名保存文件
CTime tm = CTime::GetCurrentTime(); CString str2; str2.Format(_T("D:\\%d_%d_%d__%d_%d_%d.txt"),tm.GetYear(),tm.GetMonth(),tm.GetDay(),tm.GetHour(),tm.GetMinute(),tm.GetSecond()); AfxMessageBox(str2
urllib.urlretrieve(url, file_path) 保存中文名乱码
问题:     urllib.urlretrieve(url, file_path)图片保存中文文件名乱码并抛错导致部分图片无法保存下来 解决过程: (0) 前言:版本信息     Scrapy 1.5.0, lxml 4.1.1.0, libxml2 2.9.5, cssselect 1.0.3, parsel 1.3.1, w3lib 1.19.0, Twisted 17.9.0
下载文件时保存中文名称有乱码
String saveName = fileName + ".ini"; response.setHeader("Content-Disposition", "attachment;filename=" + new String( saveName.getBytes("UTF-8"), "ISO8859-1" ) ); ;