一个string类型的数据,将它放入一个array[0..20] of char的数据数组中该如何做啊

解决方案 »

  1.   

    var
      s: string;
      c: array [0..20] of char;
      i: integer;
    begin
      s := 'gggggggggggggggggggggggggggg';
      for i:=0 to 20 do
        C[i] := S[i];
    end;
      

  2.   

    一个string类型的数据,将它放入一个array[0..20] of char的数据数组中该如何做啊
    var
      str:string;
      ary: array [0..20] of char;
    begin
      for i:=0 to length(str)-1 do
        ary[i] := str[i];
    end;
      

  3.   

    同意 anbangs(菜鸟一邦)!
    hottey(孤独的探索者)(起步中)的代码有些缺憾
      

  4.   

    anbangs(菜鸟一邦)
    就是他说的啦.
      

  5.   

    anbangs(菜鸟一邦)的方法可以!
      

  6.   

    让一幅凝固的油画来告诉你吧。
    var
      a :array[0..20]of char;
      st:string;方法1:
    begin
      move(st[1],a,21);
    //注意短串的第一个字节st[0]存放的是该串的长度信息。
    end;方法2:
    begin
      for i:=0 to 20 do
       st[i+1]:=a[i];
      st[0]:=chr(21);//or setlength(st,21);
    end;最好的方法:
    因为短串本身就是字符数组!!!可以直接按照数组引用。所不同的是必须从下标1开始,而不能从0开始
    比如,st[1]....st[i].
    如果要限制一个串的长度,那么:st[0]:=char(长度);