急救,Wchar_t怎么才能接受AnsiString 类型的参数

gohi 2000-03-16 10:56:00
各位高手:
小弟在用IE5.0的 web browser 控件时遇到困难,控件的ie->navigate 接受
的是一个 Wchar_t 型的参数,但是 edit->text 返回的参数却是一个 AnsiString
型的,怎么把它转换过来???我用强制转化,系统告诉说不能转换。
wiedchar url;
ansistring edurl;
edurl=edit->text;
url=(widechar) edurl; //这步出错,请问,怎么才能把 AnsiString 转化成 Wchar_t;
ie->navigate(url);

各位兄弟,BCB 在用 很多 activeX 控件时都有类似的问题,怎么解决????
inprise不是说 Wchar_t 能接受任何类型的参数吗。
能不能告诉小弟一些关于 Wchart_t 方面的东东。???
谢了,50分了
...全文
316 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jzy 2000-03-18
  • 打赏
  • 举报
回复
一般情况下,把AnsiString型制转换成WideString型就行了。
例如
WebBrowser1->Navigete(WideString(Edit1->Text));

如果用AnsiString的成员函数WideChar()来转换,可以这样用:
wchar_t *p;
int len;
len=Edit1->Text.Length();
p=new wchar_t[len+1];
Edit1->Text.WideChar(p,len+1);
WebBrowser1->Navigete(p);

显然前者要简单的多。

wchar_t是为一以16位无符号数表示的字符类型.
而WideString类中包含一个wchar_t型数组的成员,正如AnsiString内包含一char型数组成员一样。
通常wchar_t型常量向wchar_t型指针或数组赋值需要加上L前缀,例如
wchar_t *p=L"abcdef";

对于wchar_t,BCB的帮助中有详细的介绍.

Wingsun 2000-03-17
  • 打赏
  • 举报
回复
AnsiString::WideChar
telan 2000-03-16
  • 打赏
  • 举报
回复
用以下函数作转换:
MultiByteToWideChar(...)
ahao 2000-03-16
  • 打赏
  • 举报
回复
AnsiString URL;
WebBrowser1->Navigate(WideString(URL));

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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