天道酬勤,学无止境

PChar

在 API 函数中使用 PChar 参数的几种方法

在 API 函数中使用 PChar 参数的几种方法 //以 GetWindowsDirectory 为例: { 以静态数组做缓冲区 } procedure TForm1.Button1Click(Sender: TObject); var buf: array[0..MAX_PATH-1] of Char; begin GetWindowsDirectory(buf, SizeOf(buf)); ShowMessage(buf); { C:\\WINDOWS } end; { 自己分配内存 } procedure TForm1.Button2Click(Sender: TObject); var p: PChar; begin p := StrAlloc(MAX_PATH); GetWindowsDirectory(p, StrBufSize(p)); ShowMessage(p); { C:\\WINDOWS } StrDispose(p); end; { 直接使用 string; 这和下一种方法都需要再删除尾部空白 } procedure TForm1.Button3Click(Sender: TObject); var str: string; len: Integer; begin SetLength(str, MAX_PATH); len :=

2021-05-18 22:31:22    分类:博客    API 函数   PChar