Delphi の文字列をポインタに変換する方法

Delphiでは、PChar型を使用して文字列のポインタを表すことができます。文字列をポインタに変換するにはStrPCopy関数を使用するか、文字列変数のPCharプロパティを使用することができます。以下に両方の方法のコード例を示します。

方法 1:StrPCopy 関数を使用する

var
str: string;
ptr: PChar;
begin
str := 'Hello, World!';
GetMem(ptr, Length(str) + 1); // 分配内存空间
StrPCopy(ptr, str); // 将字符串复制到指针
// 使用指针进行操作
// ...
FreeMem(ptr); // 释放内存空间
end;

方法2:PCharプロパティを使用

var
str: string;
ptr: PChar;
begin
str := 'Hello, World!';
ptr := PChar(str); // 将字符串转换为指针
// 使用指针进行操作
// ...
end;

ポインタを使った後で、メモリリークを避けるためにメモリ空間を手動で解放する必要がある点に注意する必要があります。手法1では、GetMem関数を使用してメモリ空間を割り当て、使用後にFreeMem関数を使用してメモリを解放します。手法2では、文字列変数のライフサイクルがDelphiによって自動的に管理されるため、メモリを手動で解放する必要はありません。

bannerAds