社区
C++ Builder
帖子详情
wchar_t 是什么类型?跟AnsiString怎么转化?
YAMABACK
2002-09-16 04:49:36
如上
...全文
148
8
打赏
收藏
wchar_t 是什么类型?跟AnsiString怎么转化?
如上
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Canvas
2002-09-16
打赏
举报
回复
高手高在基础好!好!学习!
以下是我搞的一段代码。
也是AnsiString to wchar_t*的,
可以解决以上问题,可是西里哗啦编了那么长一堆,
唉,大家看看吧,也许有帮助。。。。。没想到有这么简单的办法
LPWSTR MakeWideStrFromAnsi(LPSTR psz,BYTE bType)
{
LPWSTR pwsz;
int i;
//
if (!psz)
return NULL;
i = MultiByteToWideChar(CP_ACP, 0, psz, -1, NULL, 0);
if (i <= 0) return NULL;
//
switch (bType) {
case 0:
//
pwsz = (LPWSTR)SysAllocStringLen(NULL, i - 1);
break;
case 1:
pwsz = (LPWSTR)CoTaskMemAlloc(i * sizeof(WCHAR));
break;
default:
break;
//
}
if (!pwsz) return NULL;
MultiByteToWideChar(CP_ACP, 0, psz, -1, pwsz, i);
pwsz[i - 1] = 0;
return pwsz;
}
调用时
AnsiString str="Canvas is a poor man";
wchar_t* oleStr=MakeWideStrFromAnsi(str,0);
大家看看。
猛禽
2002-09-16
打赏
举报
回复
同意楼上,用WideString类型中转
wchar_t *对于WideString相当于
char *对于AnsiString
孩皮妞野
2002-09-16
打赏
举报
回复
就是宽字符。每字符2字节。
String s("Hello, world");
WideString ws(s);
wchar_t * wc = ws.c_bstr();
camelxz
2002-09-16
打赏
举报
回复
好像是WideString函数,你去查查。
lingbin
2002-09-16
打赏
举报
回复
是啊,
wchar_t str;
str = WideString("").c_str;
wxz
2002-09-16
打赏
举报
回复
这个问题问过多次了
AnsiString As;
WidsString Ws = As;
wchat_t *wp = Ws.cb_str();
-----------------------
CSDN离线浏览器
往事悠悠
网事幽幽
-----------------------
NowCan
2002-09-16
打赏
举报
回复
不用,wchar_t -> AnsiString,直接AnsiString(...);
AnsiString -> wchar_t,用AnsiString的WideChar方法。
wangxd
2002-09-16
打赏
举报
回复
widestring可以做中间人
windows 下 c++ 各字符(
char
、w
char
_t、
string
、c
string
)的转换
②:std::w
string
内部是W
CHAR
宽字符,即w
char
_t 在MFC的工程中我们可以设置工程的编码属性: ①:对于UNICODE的编码属性C
String
被定义为C
String
W,其内部是W
CHAR
宽字符 即w
char
_t ②:对于多字节的编码属性C
String
.
C++ w
string
string
char
* w
char
_t相互转换
1.
char
*->
string
(1)直接转换 const
char
* nodename;
string
temp = nodename;...2. w
char
_t*->w
string
(1)直接转换 const w
char
_t* nodename; w
string
temp = nodename; w
string
temp2...
w
string
string
char
* w
char
_t相互转换
1.
char
*->
string
(1)直接转换const
char
* nodename;
string
temp = nodename;...2. w
char
_t*->w
string
(1)直接转换const w
char
_t* nodename;w
string
temp = nodename;w
string
temp2(nodename);3. st...
(04)C++ builder之w
char
_t和
char
变量互转
wStr=(w
char
_t *)malloc(len*sizeof(w
char
_t)); mbstowcs(wStr,cStr,len); //wStr就是你要的转换结果了 二、w
char
_t转
char
char
*cStr; w
char
_t *wStr=L"hello world"; size_t len; len=wcslen(wStr)+1; cStr=(
char
...
E2034 Cannot convert 'w
char
_t *' to 'const
char
*'
E2034 Cannot convert 'w
char
_t *' to 'const
char
*' 今天遇到这个问题, 参考文章: http://www.idcrx.com/zhishiku/kaifayuyan/2012/0605/264596.html 发现工程的属性
Char
acter Set 为 “Use Unicode ...
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章