c++-CString类型(汉字)转换为wchar_t类型时显示的为乱码

问题描述

CString类型(汉字)转换为wchar_t类型时显示的为乱码

如题,从编辑框中提取汉字,取出为CString类型的,将此变量转换为wchar____t类型的变量,显示出来为乱码,但是当输入的为英文字母时,显示的就是正确的,不知道问题出现在哪里,求大神指点

部分程序:

解决方案

最简单的将你的工程设置为Unicode编码的。

解决方案二:

如何从 wchar_t * 转换为其他字符串类型

解决方案三:

    _tsetlocale(LC_ALL, _T("chs")); //加上这句,没加的话可能乱码

    USES_CONVERSION;
    WCHAR wStr[] = L"王小二";
    wprintf(L"UNICODE Str = %s
", wStr);
    printf("W2A Convert = %s
", W2A(wStr));
    _tprintf(_T("W2T Convert = %s
"), W2T(wStr));

    CHAR aStr[] = "李大麻";
    printf("MBCS Str = %s
", aStr);
    wprintf(L"A2W Convert = %s
", A2W(aStr));
    _tprintf(_T("A2T Convert = %s
"), A2T(aStr));

    _tsystem(_T("PAUSE"));

解决方案四:

nText是字符,设置成数组或指针都可,指针的话先分配内存

解决方案五:

问题大致解决了,设置成Unicode编码的可以,但是如果这样设置,我的程序太大需要改好多东西,因为用的是vc6.0,也不能兼容,将这部分程序转到vc2008中就好使了

解决方案六:

问题大致解决了,设置成Unicode编码的可以,但是如果这样设置,我的程序太大需要改好多东西,因为用的是vc6.0,也不能兼容,将这部分程序转到vc2008中就好使了

时间: 2024-11-01 16:57:31

c++-CString类型(汉字)转换为wchar_t类型时显示的为乱码的相关文章

c++-程序中是不是一般不用char类型而是用wchar_t类型呢

问题描述 程序中是不是一般不用char类型而是用wchar_t类型呢 char类型是不是在程序中用处不大,不能处理中文和其他非ASCII码,而且据说处理wchar_t的性能比char高,请教各位高手,是不是程序中一般都会选择用wchar_t,而不用char呢? 解决方案 这种做法的局限性是明显的,首先,我们必须要考虑识别这是一个汉字还是两个英文,特别是,一些>127的ASCII编码被用一些特殊字符,而很不幸,我们没法区分它是中文还是这些特殊字符. 所以你在一些汉化的DOS软件上经常看到显示出来的

请问怎么将String类型字符串转换为date类型。要求是yyyy-MM-dd HH:mm:ss 格式的时间类型,以便于以datetime格式存入数据库

问题描述 请问怎么将String类型字符串转换为date类型.要求是yyyy-MM-dd HH:mm:ss 格式的时间类型,以便于以datetime格式存入数据库? 问题补充:非常感谢,嗯,对的,反正我是取得用户输入的值,直接用String.不过你给的程序方法最终的d不是datetime型的,而是Thu Feb 24 15:34:28 CST 2011 ,怎么回事呢?斐斐宝贝 写道 解决方案 如果数据库是datetime类型,那么页面上可以把字符串转换: DateFormate df = new

LPTSTR类型如何转换为char *类型

问题描述 如题! 解决方案 解决方案二:要是unicode编译则用wcstombs进行转化要是非unicode则直接赋值解决方案三:我试试!先谢了!解决方案四:引用1楼akirya的回复: 要是unicode编译则用wcstombs进行转化要是非unicode则直接赋值

[C#]解决读写包含汉字的txt文件时乱码的问题

汉字|解决|问题 作者:袁晓辉(版权所有)时间:2005-8-8   当我们用System.IO.StreamReader读取包含汉字的txt文件时,经常会读出乱码(StreamWriater写文本文件也有类似的问题),原因很简单,就是文件的编码(encoding)和StreamReader/Writer的encoding不对应.    为了解决这个问题,我写了一个类,来取得一个文本文件的encoding,这样我们就可以创建对应的StreamReader和StreamWriter来读写,保证不会

在vs2010中用c++写代码时将textbox的文本转换为double类型时总是出错

问题描述 在vs2010中用c++写代码时将textbox的文本转换为double类型时总是出错 double du = double.Parse(textBox5->Text); double dlje = double.valueOf(textBox4->Text); double dljn = atof(textBox3->Text); 错误: 错误 2 error C2062: 意外的类型"double" 错误 5 error C2062: 意外的类型&quo

android-json数据,如何将,"dst":"u4ecau5929"这种类型的转换为正常的汉字啊?

问题描述 json数据,如何将,"dst":"u4ecau5929"这种类型的转换为正常的汉字啊? 最近想使用一下百度api做一个翻译的Android小程序,可是不知道这种数据怎么解析啊. 求大神指点啊... 解决方案 就是编码,自动用utf-8来解码就行了 解决方案二: 这是加密过得吧.要知道它是用的什么加密 解决方案三: 16进制编码而已 http://yuncode.net/code/c_52288b05ac93d2

导出Excel时,数字类型数据被转换为字符类型,导致Excel公式无法计算

问题描述 开发平台:VS2005开发语言:C#问题:使用客户提供模板,对Excel文件进行数据填充时,数字类型的数据被转换为字符类型(单元格左上方有绿色的三角),导致Excel公式无法进行计算. 解决方案 解决方案二:你可以修改模板的列,设置格式为数字而非常规.然后导出就是数字了.解决方案三:在模板上强制设置格式为数字

C语言指针转换为intptr_t类型

1.前言 今天在看代码时,发现将之一个指针赋值给一个intptr_t类型的变量.由于之前没有见过intptr_t这样数据类型,凭感觉认为intptr_t是int类型的指针.感觉很奇怪,为何要将一个指针这样做呢?如是果断上网查查,发现我的感觉是错误的,所以,任何事情不能凭感觉,要弄清楚来龙去脉.先总结一下intptr_t类型,然后介绍指针与intptr_t类型的转换,最后给出测试程序. 2.intptr_t类型 我接触最早的处理器是32位,目前64位处理器发展迅速.数据类型特别是int相关的类型在

string-关于java中String类型汉字字符串的升序问题

问题描述 关于java中String类型汉字字符串的升序问题 本人新手,遇到一个项目问题:有若干个对象,每个对象里面都有一个String类型的姓名属性,现在要求根据姓名属性的升序将这些对象排列在List集合里,问如何将String类型的汉字升序排列.求大神 解决方案 String[] strs = {""张三(Z)""李四(L)""王五(W)""}; // 定义一个中文排序器 Comparator c = Collator.g