如何将PAnsiChar
变量转换为WideString
或string
?
答案 0 :(得分:14)
您只需将一个变量分配给另一个变量,让Delphi编译器为您完成所有转换:
var
p: PAnsiChar;
s: string;
w: WideString;
....
s := p;
w := p;
如果您想转换到另一个方向,并将讨论限制在Delphi 7,其中Char,PChar,字符串都是ANSI数据类型,您将使用以下内容:
PAnsiChar(s);
PAnsiChar(AnsiString(w));
当朝这个方向前进时需要强制转换,而在WideString的情况下,在请求空终止的C字符串指针之前,数据必须从Unicode显式转换为ANSI。
答案 1 :(得分:4)
var
s: AnsiString;
w: WideString;
p: PAnsiChar;
...
s := p;
w := WideString(s);
答案 2 :(得分:2)
S:PAnsiChar;
WideString(AnsiString(s));
或者你想要的unicode Delphi:
String(AnsiString(s));
答案 3 :(得分:1)
在docs中查找StrPas函数。