怎样把WideString赋值给PWidechar

delphi7... delphi 7 展开
 我来答
xiangjuan314
2016-05-17 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:2867万
展开全部
Sting 与 WideString, PChar 与 PWideChar 互相转换?
WS : WideString;

S := 'aaaa';
WS := S;
S := WS;

PAnsiChar和PWideChar只是一个指针而已,
针对他们 取^ 时,分别得到一个Ansi字符和Wide字符

说起来还真不好说清楚。。。-_!
WideString单字节字符串
直接赋值就可以转换

var
str: AnsiString;
begin
str := '万一';
Showmessage(IntToStr(Length(str))); {长度是: 4}
end;
--------------------------------------------------------------------------------

//宽字符串 WideString (效率不及 AnsiString)
var
str: WideString;
begin
str := '万一';
ShowMessage(IntToStr(Length(str))); {长度是: 2}
end;

如Length('张三')长度为4 (1个汉字占2个字节)
WideString:由WideChar组成,是双字节的字符串,Length('张三')长度为2,

AnsiChar:1字节Ansi字符
WideChar:2字节的Unicode字符
Char:相当于AnsiChar;

Sting与WideString,AnsiChar与WideChar都可以直接转换
只不过他们占用字节不同,所以用length()取长度结果也不同

前面加上P,就是表示相应的指针类型了
区别是要申请内存空间,访问的时候用^符号,不加^符号也是可以的。编译器有时会帮你处理
就烦条0o
推荐于2018-04-19 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46491
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
procedure TForm1.btn1Click(Sender: TObject);
var P: PWideChar; S: WideString; NP: PWideChar;
begin
P := '你好吗?';
S := P;
NP := PWideChar(S);
Caption := S;
end;

这样转就可以了 PWideChar()

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式