大家对有object pascal的字符串可能您经常用AnsiString其他的字符串一般很少用到。
下面举几个字符串的几个类型:
AnsiSring 这是Pascal的默认类型。其长度没有限制的。并且字符串结束是以null结尾。也就是以'/0'结尾。
ShortSring是为了与Delphi以前的版本保持兼容性。其长度限制在255个字符之内的。 WideSring与AnsiString类似,但它是由WideChar字符组成的。 PChar指向null结束的字符串的指针。类似于c里面的char*或者lpstr. PAnsiChar指向以null结束的AnisChar结束的字符串指针。 PWideChar指向以null结束的WideChar的字符串的指针。 缺省情况下是AnisSring的类型: var S:String; 也可以有编译器开关$H来将String类型定义为ShortString类型:例子 var {$H-} s1:=string;//s1是shortstring类型 {$H+} s2:=string;//s2是sring类型 但是当特定指定的字符串的长度,长度要小于255的时候,其用{$H}的时候总是AnsiSring 例子: var s:string[254]; 下面我要讲讲这些类型的各自用法: 1、AnisSring类型 它是动态分配的并且有自动回收功能。这个功能被称为生存期自管理功能。不用象c中的中间结果 由于AnisSring类型的字符串以null结尾的,因此可以与Win32Api兼容。实际上AnisSring是 指向在堆栈中的字符串结构的指针。 
|