PAnsiChar
変数をWideString
またはstring
に変換するにはどうすればよいですか?
変数を別の変数に割り当て、Delphiコンパイラにすべての変換を行わせるだけです。
var
p: PAnsiChar;
s: string;
w: WideString;
....
s := p;
w := p;
別の方向に変換し、Delphi 7に限定して、Char、PChar、stringがすべてANSIデータ型である場合は、次のように使用します。
PAnsiChar(s);
PAnsiChar(AnsiString(w));
この方向に進む場合はキャストが必要であり、WideStringの場合、データはnullで終了するC文字列ポインターを要求する前にUnicodeからANSIに明示的に変換する必要があります。
var
s: AnsiString;
w: WideString;
p: PAnsiChar;
...
s := p;
w := WideString(s);
s:PAnsiChar;
WideString(AnsiString(s));
または、Unicode Delphiの場合、おそらく次のようになります。
String(AnsiString(s));
ドキュメントで StrPas 関数を探します。