请问有没有函数可直接把 WCHAR 转换成 CHAR? CHAR 到 WCHAR 呢?

hsjwar2 2001-12-14 01:02:39
...全文
723 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cmpp 2001-12-14
  • 打赏
  • 举报
回复
我来学习一下!
hsjwar2 2001-12-14
  • 打赏
  • 举报
回复
谢了caopan1979(caopan),但我不知道把积分给你。
plusplus 2001-12-14
  • 打赏
  • 举报
回复
u can use a simple way to do that.
#include "afxconv.h"//or #include "atlconv.h"
void func(WCHAR* p)
{
USES_CONVERSION;
char* p1 = OLE2T(p);
}
xiaoxiaohan 2001-12-14
  • 打赏
  • 举报
回复
Windows函数MultiByteToWideChar用于将多字节字符串转换成宽字符串;函数WideCharToMultiByte将宽字符串转换成等价的多字节字符串。
没问题的。
god剑走偏锋 2001-12-14
  • 打赏
  • 举报
回复
上面那位兄弟说得没错
caopan1979 2001-12-14
  • 打赏
  • 举报
回复
WideCharToMultiByte()
MultiByteToWideChar()

给分吧,兄弟,我测试过!^_^
/*Windows字符串和JAVA字符串互相转换,主要为解决中文字符串问题*/
jstring WindowsTojstring( JNIEnv* env, char* str )
{
jstring rtn = 0;
int slen = strlen(str);
wchar_t* buffer = 0;
if( slen == 0 )
rtn = env->NewStringUTF(str); //UTF ok since empty string
else
{
int length = MultiByteToWideChar( CP_ACP, 0, (LPCSTR)str, slen, NULL, 0 );
buffer =(unsigned short *) malloc( length*2 + 1 );
if( MultiByteToWideChar( CP_ACP, 0, (LPCSTR)str, slen, (LPWSTR)buffer, length ) >0 )
rtn = env->NewString((jchar*)buffer, length );
}
if( buffer )
free( buffer );
return rtn;
}

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧