delphi中的字符串处理,以及几个字符串类型的说明。

类别:Delphi 点击:0 评论:0 推荐:

大家对有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是

指向在堆栈中的字符串结构的指针。

本文地址:http://com.8s8s.com/it/it5705.htm