Delphi文字列をポインタに変換する方法を教えてください

Delphiでは文字列をポインタに変換するにはPChar型を使用します。 PCharとは文字を指し示すポインタ型で、Delphiではnull終端の文字列を表すために使用されます。

文字列をポインタに変換する方法を以下に示します。

  1. PChar関数を使用して変換する。
var
str: string;
ptr: PChar;
begin
str := 'Hello World';
ptr := PChar(str);
// 现在ptr指向字符串的第一个字符
end;
  1. StrAlloc() 関数を使用して割り当てとコピーを行います。
var
str: string;
ptr: PChar;
begin
str := 'Hello World';
ptr := StrAlloc(Length(str) + 1); // 需要在字符串长度基础上加1,以便分配空间存储null结尾
StrPCopy(ptr, str);
// 现在ptr指向分配的内存,其中存储着字符串的副本
end;

PChar型ポインタの使用後、メモリリークを避けるため、関連メモリを開放する必要があります。 StrAlloc()で割り当てられたメモリは、StrDispose()関数を使用して開放します:

StrDispose(ptr);

または、動的メモリの解放にFreeMem() 関数を使用することもできます。

FreeMem(ptr);
bannerAds