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.