Pascal的字符串
OI爱好者(OIFans.cn)
www.oifans.cn
为了使程序能够处理文字信息,Turbo Pascal特别引入了字符串类型,其值表示一个具有可变长度的字符序列。字符串类型定义形式为:
strign[n]或者string
其中正整数n(1<=n<=255)表示构成字符串的字符最多个数,即通常所说的字符串最大长度。而字符串的实际长度决定程序运行时的实际字符个数,可以由函数length返回。若字符串说明中没有指定长度,缺省值为255。 字符串类型定义字符串连接操作‘+’,是将两个字符串连接成新字符串。连接操作允许字符串类型和字符串类型混合运用。
字符串常量可以通过常量说明语句
const 字符串常量名:string[n]='字符串';规定其常量的串长n,并赋初值。例如:const head:string[7]='zhoufei';
Turbo Pascal还提供了不少预定义函数和过程:
(1)字符串函数 函数名
自变量及类型 意义 结果类型
concat s1[,s2……,sN]:string 连接字符串序列 string
copy s:string,index,count:integer 返回串s的一个子串 string
length s:string 返回串s的动态长度 integer
pos substr,s:string 返回子串substr在串s中的起始位置 byte
(2)字符串过程
过程名 自变量及类型 意义
delete var s,source:string;index,count:integer 从串S中删除一个子串
insert var s:string;index:integer; 在串S中插入一个指定子串
str var x[:width[:Decimals]];s:string 把一数值转换成相应的字符串表示
val var s:string;code:integer 把一字符串转换成相应的数值
例:字符串函数调用示例
program samplefun;
const
tur='turbo';
pas='pascal';
var
st:string[60];
p:byte;
begin
st:=concat(tur,pas,'is better than','stand',pas,'.');
writeln(st);
writeln(length(st));
st:=copy(st,29,15);
writeln(st);
p:=pos(pas,st);
writeln(p);
p:=pos(tur,st);
writeln(p);
end.
例:字符串过程调用示例
program guocheng;
const
typedstring:string='turbo pascal is better than standard pascal.';
total:real=388.4;
var
totalstring:string[60];
integervalue:integer;
realvalue:real;
status:integer;
begin
delete(typedstring,13,40);
writeln(typedstring);
insert('using',typedstring,1);
writeln(typedstring);
str(total:8:2,totalstring);
writeln(totalstring);
str(total,totalstring);
writeln(totalstring);
val('-33',integervalue,status);
writeln(integervalue,'':2,status);
val('-33.99',realvalue,status);
writeln(realvalue:6:2,'':2,status);
end.