不好意思,因为工程急暂时没时间看Unicode,请大家帮帮忙了
问题1:
unsigned char G_TEXTCHARS[10000]包含了从文件中读取的所有数据(实际大小是1140字节),现在我要把他变成unicode
LPWSTR LP=NULL;
int G_WIDECHARLEN=0;//全文转换后的长度
int result=MultiByteToWideChar( CP_ACP,
MB_COMPOSITE|MB_ERR_INVALID_CHARS,
(char*)G_TEXTCHARS, //要转换的Ansi字符串
-1, //自动计算长度
LP,
G_WIDECHARLEN
);
结果G_WIDECHARLEN==0;LP=NULL; result=722请问怎么获得unicode的值问题2:
上面转完之后是什么类型的数组?TCHAR? wchar_t???? 因为要在view里面按照指定数字的文字显示(比如 100个汉字)我是不是取100*2
的TCHAR ?wchar_t?

解决方案 »

  1.   

    result = 722表示转化到unicode后共有722个元素。
    再次调用MultiByteToWideChar
    LP = new wchar_t(result); //要不要加1忘了。
    int   result=MultiByteToWideChar(   CP_ACP, 
    MB_COMPOSITE ¦MB_ERR_INVALID_CHARS, 
    (char*)G_TEXTCHARS,   //要转换的Ansi字符串 
    722,   //自动计算长度 
    LP, 
    result
    ); 
    unicode 放在LP中
      

  2.   

    int       result=MultiByteToWideChar(       CP_ACP,   
    MB_COMPOSITE   ¦MB_ERR_INVALID_CHARS,   
    (char*)G_TEXTCHARS,       //要转换的Ansi字符串   
    -1,       //自动计算长度   
    LP,   
    result 
    );