今天也想过这问题;我是从STRING中逐个取字符的.大概写法如下;:):):)VAR C:CHAR; STR:STRING; BEGIN STR := 'ABCDE'; C := STR[1];END;
1. var ch: array[1..5] of Char; Str: string[5]; begin for i := 1 to 5 do ch[i] := Str[i]; end;2. var ch: array[1..5] of Char; Str: string[5]; begin for i := 1 to 5 do Str[i] := ch[i]; end;
string直接就可以作为字符数组来使用 而字符数组也可以直接强制转换为string类型
var str:string; chars:array[0..20] of char; begin str:='this is a string'; copymemory(@chars,pchar(str),length(str)); showmessage(chars); chars:='this is a chars'; str:=chars; showmessage(str); end;
强制转换一下就可以用 procedure TForm1.Button1Click(Sender: TObject); var s:string; c:array of char; begin setlength(c,10); copymemory(@c[0],pchar('hahahaha'),8);
C:CHAR;
STR:STRING;
BEGIN
STR := 'ABCDE';
C := STR[1];END;
var ch: array[1..5] of Char;
Str: string[5];
begin
for i := 1 to 5 do
ch[i] := Str[i];
end;2.
var ch: array[1..5] of Char;
Str: string[5];
begin
for i := 1 to 5 do
Str[i] := ch[i];
end;
而字符数组也可以直接强制转换为string类型
str:string;
chars:array[0..20] of char;
begin
str:='this is a string';
copymemory(@chars,pchar(str),length(str));
showmessage(chars);
chars:='this is a chars';
str:=chars;
showmessage(str);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
c:array of char;
begin
setlength(c,10);
copymemory(@c[0],pchar('hahahaha'),8);
s:=string(@c[0]);/////////s指向c串的首地址
Label1.Caption:=s;
end;
String-> Pchar: lstrcpy(数组,pchar(字符串));