object pascal字符串的几个类型

大家对有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是
指向在堆栈中的字符串结构的指针。

转载于:https://www.cnblogs.com/liukun966123/archive/2004/06/25/18569.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值