社区
C++ Builder
帖子详情
WideString 和 ANSIString 之间如何转换?
ruixj
2004-07-06 08:41:00
WideString 和 ANSIString 之间如何转换?
...全文
167
4
打赏
收藏
WideString 和 ANSIString 之间如何转换?
WideString 和 ANSIString 之间如何转换?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ruixj
2004-07-06
打赏
举报
回复
String giffile="E:\\Example\\LinkinParkinth end.avi";
wchar_t *p = WideString(giffile).BSTR();
[C++ Error] Unit1.cpp(121): E2316 'BSTR' is not a member of 'WideString'这个错误
怎么回事,帮忙解决
蒋晟
2004-07-06
打赏
举报
回复
用MultiByteToWideChar转了再传
ruixj
2004-07-06
打赏
举报
回复
[C++ Error] Unit1.cpp(120): E2034 Cannot convert 'char *' to 'wchar_t *'
如何解决这个问题?
蒋晟
2004-07-06
打赏
举报
回复
MultiByteToWideChar
WideCharToMultiByte
Delphi中
String
与W
ide
String
的区别2.docx
Delphi中
String
与W
ide
String
的区别2.docx
AdvMemo支持中文.rar
D7的中文支持问题其实是W
ide
String
和
Ansi
string
问题,相对处理简单些,也就是判断双字节的问题;XE2就复杂了,XE2里的
string
本身就是双字节,英文和中文都一样长,但是XE2处理字符宽度是基于TextWidth('A'),只有一个中文字的一半宽,涉及到的地方非常多,通篇处理起来困难,XE2修改不太好,运行时经常死机或报错,哪位高手再处理下。
Delphi2009、Delphi2010的GBK繁体转简体函数
Delphi2007之前的API繁简转函数在Delphi2009版本出现后不能用,原因在于之前版本的
String
默认为
Ansi
String
,而Delphi2007之后的
String
默认为W
ide
String
,同样,PChar指针也就为P
Ansi
String
,所以调用Windows API函数如:MultiByteToW
ide
Char 会出现编译出错,原因是类型不对,也不能强制
转换
,以下是本人修改的网上流行的繁简转函数,测试通过,并完全正常使用!
Delphi通过主机名获取IP
很简单的一个例子,用delphi2010编写的,网上有的例子会出现网上的教程是Pchar(IPAddress) 这样会提示 Incompatible types: 'Char' and '
Ansi
Char' 处理 解决办法1:参数格式不变,使用的时候麻烦一点。先把W
ide
String
转换
成
Ansi
String
,然后再
转换
成P
Ansi
Char。直接使用P
Ansi
Char(my
string
)可以编译通过,但运行不正确。思路的代码如下: var mysting:
string
;用 P
Ansi
Char(
Ansi
String
(mysting))代替 pchar(mysting) 这种方法在接口上与高版本更统一,但内部修改较多。 解决办法2:传入参数的时候就使用
Ansi
String
,一切如同在Delphi2007下使用一样。只是这时候参数不再使用
String
,而是必须显式地使用
Ansi
String
。 函数里使用参数的时候,仍要注意pchar都要改成p
ansi
char,代码修改量更小,且与旧版本更兼容。
字符处理支持库MECS Utilities V1.41(delphi)
支持
Ansi
String
/Unicode
String
/W
ide
String
国标字符的函数库
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章