社区
C++ Builder
帖子详情
wchar_t 是什么类型?跟AnsiString怎么转化?
YAMABACK
2002-09-16 04:49:36
如上
...全文
156
8
打赏
收藏
wchar_t 是什么类型?跟AnsiString怎么转化?
如上
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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可以做中间人
C++ Builder
string
相互转换
由于存在多种字符串
类型
(如`
char
*`、`
string
`、`w
char
_t*`、`w
string
`等),进行不同
类型
的字符串相互转换变得尤为重要。本文将详细介绍C++ Builder中几种常见字符串
类型
之间的相互转换方法。 #### 1. `
char
*`与`...
C++Builder
String
,UNICODE,UTF8,
ANSI
互转的类.rar_c
在C++Builder中,`
String
`
类型
是基于Unicode的,这意味着默认情况下,它存储的是宽字符(每个字符2字节),这与Windows API中的`W
CHAR
`和`LPCWSTR`
类型
相匹配。这种设计使得C++Builder可以方便地处理包含多语言字符...
从 C++ Builder 6 到 XE2 的升级问题汇总
- 在处理不同字符串
类型
时,为了确保兼容性,可以使用宽字符(w
char
_t)作为中间转换
类型
,例如: - `Wide
String
ws = Wide
String
(str1.c_wstr());` 从
string
到Wide
String
- `
Ansi
String
as = ws.c_str();` 从...
Delphi 与 CC++ 数据
类型
对照表
- Delphi 中的 `Short
String
` 是长度固定的短字符串,`
Ansi
String
` 和 `
String
` 是可变长度的字符串,C/C++ 中可以使用 `
char
*`(
ANSI
字符串)和 `w
char
_t*`(宽字符串)来处理。 - `Wide
Char
` 在 Delphi 中表示 ...
C++Builder和Delphi的数据
类型
比较
- **Wide
Char
**: 表示字长大小的Unicode字符,等同于C++Builder中的`w
char
_t`
类型
。 - **
Char
**: 这是一个8位无符号字符,在C++Builder中也由`
char
`
类型
实现。 ### 4. 字符串
类型
- **
Ansi
String
**: Delphi的`...
C++ Builder
13,871
社区成员
102,693
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章