如何将一个PCHAR类型转化成为一个array of char类型呢??
我定义了一个Pchar 内容是 ‘123456’。我想将他转化成一个array [0..5] of char 类型的变量中,如何转换呢???

解决方案 »

  1.   

    我定义了一个Pchar 内容是 ‘123456’???你是怎么定义的啊,好强啊。PCHAR只可以有一个字符,你能定义出一串字符?如果是STRING还行。
      

  2.   

    var
      s: PChar;
      a: array[0..5]of char;
      i:integer;
    begin
        for i:=0 to length(s) do begin
           a[i]:=s[i];
        end;
    end
      

  3.   

    楼主的意思PCHAR类型是指向了'123456'吧?
    和楼上的一样
    直接用下标就行了
      

  4.   

    var
      s: PChar;
      a: array[0..5]of char;
      i:integer;
    begin
        s := '123456';
        for i:=0 to (length(s)-1) do begin  //这里要减1,要不会越界
           a[i]:=s[i];
        end;
    end;
      

  5.   

    var
      s: PChar;
      a1: array[0..5]of char;
      i:integer;
      a:string;
    begin
     s:='12345';
     a:=StrPas(s);
     strpcopy(a1,a);
     showmessage(a1);
      

  6.   

    正确代码:
    var
      s: PChar;
      a1: array[0..5]of char;
      a:string;
    begin
     s:='12345';
     a:=StrPas(s);
     strpcopy(a1,a);
     showmessage(a1);
    end;
      

  7.   

    也可以把它简化为一句就成了
    var
      s: PChar;
      a1: array[0..5]of char;
    begin
     s:='12345';
     strpcopy(a1,StrPas(s));
     showmessage(a1);
    end;