首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 調用 WinAPI:lstrcat 字符串拼接

     編輯:Delphi

字符串拼接:lstrcat 向目標緩衝區追加內容

lstrcat(dest, src) 將源字符串追加到目標字符串末尾(覆蓋目標結束符)。目標緩衝區必須預留足夠空間且以 #0 結尾。示例展示多種緩衝區類型與連續拼接。

四種拼接場景

procedure TForm1.Button1Click(Sender: TObject);  {GetMem + 多次拼接}
var p, p1, p2: PChar;
begin
  p1 := 'Delphi'; p2 := '2009';
  GetMem(p, 256); p^ := #0;  {初始化為空串}
  lstrcat(p, p1); lstrcat(p, ' '); lstrcat(p, p2);
  ShowMessage(p);  {Delphi 2009}
  FreeMem(p);
end;

procedure TForm1.Button2Click(Sender: TObject);  {靜態數組 + FillChar 初始化}
var p1, p2: PChar; buf: array[0..255] of Char;
begin
  p1 := 'Delphi'; p2 := '2009';
  FillChar(buf, Length(buf), #0);
  lstrcat(buf, p1); lstrcat(buf, ' '); lstrcat(buf, p2);
  ShowMessage(buf);  {Delphi 2009}
end;

procedure TForm1.Button3Click(Sender: TObject);  {GetMemory + lstrcpy 初始化}
var p, p1, p2: PChar;
begin
  p1 := 'Delphi'; p2 := '2009';
  p := GetMemory(256);
  lstrcpy(p, p1); lstrcat(p, ' '); lstrcat(p, p2);
  ShowMessage(p);  {Delphi 2009}
  FreeMemory(p);
end;

procedure TForm1.Button4Click(Sender: TObject);  {全局靜態數組累積拼接}
var p1, p2: PChar;
begin
  p1 := '萬一的 '; p2 := 'Delphi 博客';
  lstrcat(buf, p1); lstrcat(buf, p2);
  ShowMessage(buf);  {萬一的 Delphi 博客}
end;

var buf: array[0..255] of Char;  {全局緩衝區}

關鍵點: 目標緩衝區必須以 #0 開始(空串)或已包含有效字符串,否則拼接結果不可預期。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved