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

Delphi 調用 WinAPI:lstrlen 獲取字符串長度

     編輯:Delphi

字符串長度獲取:ANSI 與 Unicode 版本差異

lstrlen 返回以空字符結尾的字符串長度(不含結束符)。lstrlenA 按字節計,lstrlenW 按字符(WideChar)計,導致中英文混合串結果不同。

基本用法

procedure TForm1.Button1Click(Sender: TObject);
var p: PChar; buf: array[0..255] of Char; n1, n2: Integer;
begin
  p := 'Delphi'; buf := 'Delphi';
  n1 := lstrlen(p);   n2 := lstrlen(buf);
  ShowMessageFmt('%d,%d', [n1, n2]);  {6,6}
end;

ANSI/Unicode 差異演示

procedure TForm1.Button2Click(Sender: TObject);
var n1, n2: Integer;
begin
  n1 := lstrlenA('萬一的 Delphi 博客');  {按字節:18}
  n2 := lstrlenW('萬一的 Delphi 博客');  {按字符:13}
  ShowMessageFmt('%d,%d', [n1, n2]);      {18,13}
end;

解釋: "萬一的 Delphi 博客" 含 5 個中文字符(各 2 字節)+ 8 個 ASCII 字符(含空格),lstrlenA 計 5×2+8=18 字節,lstrlenW 計 5+8=13 字符。

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