pansichar()是什么函数?csdn上看见的(0分)

  • 主题发起人 主题发起人 maozhuxi
  • 开始时间 开始时间
A PChar is a pointer to a null-terminated string of 8-bit characters.
A PAnsiChar is a pointer to a null-terminated string of 8-bit characters.
A PWideChar is a pointer to a null-terminated string of 16-bit characters.
应该能看懂吧,null-terminated就是指借用结束符来描述一个字符串的方式。
 
看一下delphi帮助
 
那么
if(strcomp(pansichar(edpwd.text),pansichar(password))<>) then
这和
if(strcomp(edpwd.text,password)<>) then
区别是什么呢?我查了一下书,pansichar是数据类型,这里可以用为函数?
 
PAnsiChar 就是 pchar ,就相当于C 里的char *
C里的字符串都是用null结尾的char数组表示的,windows api也是
delphi的String为了兼容pchar,用的这个转化函数
 
var
s: String;
begin
s := 'hello';
MessageBox(0, PChar(s), '', MB_OK);
//MessageBox(0, PAnsiChar(s), '', MB_OK)同上
end;
这里的PChar(PAnsiChar)不是函数,只是把String强制转换为WinAPI需要的PChar(PAnsiChar)类型。
 
这种用法叫做强制类型转换,可以强迫编译器把数据当作另一种类型的数据处理。
 
AnsiString CString String
这三个东西
AnsiString 和 String 是通用的
Cstring 是不通用的 MFC
 
接受答案了.
 
后退
顶部