如何让程序能读取Unicode到文件? 我的程序会生成文件,也会将生成的文件重新读回来。所以在保存的时候是Unicode编码,但是读取的话ReadString() 就只能读取ASCII到编码,否则为乱码。或者有其他什么简单快速的方法?~ 顺便祝大家中秋快乐呀~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不用关心读取的数据是什么,读取出来强制转换成wchar_t*类型就行,文件的开头2个字节0xff 0xfe要忽略估计LZ的工程是ansi,然后是用ReadString() 读取进一个CString类型吧?这样的话就不太方便了,因为非unicode工程的CString对应的是char,可以考虑用ReadString()另外一个重载函数读取到一个char数组,然后强制转换成wchar_t*类型,用CStringW来构造CString字串 这有两个函数!第一个是将Unicode变成ASCII 第二个是将ASCII变成Unicode 你可以将Unicode变成ASCII后进行操作,然后再ASCII变成Unicode保存 inline LPTSTR B2A(BSTR lp) { int nLen=(lstrlenW(lp)+1)<<1; LPTSTR str=new char[nLen]; WideCharToMultiByte(CP_ACP, 0, lp, -1, str, nLen, NULL, NULL); return str; } inline BSTR A2B(LPCSTR lp) { int nLen = lstrlen(lp)>>1-1; BSTR str = ::SysAllocStringLen(NULL, nLen); MultiByteToWideChar(CP_ACP, 0, lp, -1, str, nLen); return str; } 读出来自己用MultlByteToWideChar来转换。 (1)用CArchive读写(2)将"Character Set"选为:"Use Multi-Byte Character Set",用CStdioFile读写 关于书上例程的一个小小的不理解 关于套接字的send函数 怎么安装SDK 关于winsock缓冲区问题 关于对数据保存到数据库ACCESS中和文件中,时间比较问题 各位前輩,菜鳥求助! 我想用DirectShow开发一个视频传输的程序 comsvcs.h编译出错..如何改呀..?想必大家也碰过吧..救救我吧... 关于安装程序制作? 在指定的窗口中查找某个子窗口或者控件 请问大牛关于线程中更新界面的问题 grid 控件. 怎么添加服务?用函数还是直接写注册表?
第一个是将Unicode变成ASCII
第二个是将ASCII变成Unicode
你可以将Unicode变成ASCII后进行操作,然后再ASCII变成Unicode保存
inline LPTSTR B2A(BSTR lp)
{
int nLen=(lstrlenW(lp)+1)<<1;
LPTSTR str=new char[nLen];
WideCharToMultiByte(CP_ACP, 0, lp, -1, str, nLen, NULL, NULL);
return str;
}
inline BSTR A2B(LPCSTR lp)
{
int nLen = lstrlen(lp)>>1-1;
BSTR str = ::SysAllocStringLen(NULL, nLen);
MultiByteToWideChar(CP_ACP, 0, lp, -1, str, nLen);
return str;
}
(2)将"Character Set"选为:"Use Multi-Byte Character Set",用CStdioFile读写