array of char赋值给string的有关问题
array of char赋值给string的问题
var
a: array[1..10] of char;
b: string;
c: string;
i: integer;
begin
b := 'test';
for i := 1 to 10 do
a[i] := b[i];
c := a;
showmessage(quotedstr(c)); //我发现 c 的长度是十位, 也就是说把test赋给a后, 剩下的六位也赋给c了, 如何解决 ?
end;
其中一种办法就是:
for i := 1 to 10 do
begin
if ord(a[i]) <> 0 then
b[i] := a[i];
end;
请问大家还有其他办法?
------解决方案--------------------
什么错误信息呀>>>>>>>
------解决方案--------------------
為什麼不直接就 c := b;
------解决方案--------------------
------解决方案--------------------
什么乱七八糟的,你a是10位,c=a,那c不是10位是几位
------解决方案--------------------
粗心大意,以后一定要仔细认真哦.
------解决方案--------------------
想知道后面6位是什么内容?是空不?
------解决方案--------------------
b := 'test';
b的长度=4 ,你为什么用b【10】,超出范围
var
a: array[1..10] of char;
b: string;
c: string;
i: integer;
begin
b := 'test';
for i := 1 to 10 do
a[i] := b[i];
c := a;
showmessage(quotedstr(c)); //我发现 c 的长度是十位, 也就是说把test赋给a后, 剩下的六位也赋给c了, 如何解决 ?
end;
其中一种办法就是:
for i := 1 to 10 do
begin
if ord(a[i]) <> 0 then
b[i] := a[i];
end;
请问大家还有其他办法?
------解决方案--------------------
什么错误信息呀>>>>>>>
------解决方案--------------------
為什麼不直接就 c := b;
------解决方案--------------------
------解决方案--------------------
什么乱七八糟的,你a是10位,c=a,那c不是10位是几位
------解决方案--------------------
粗心大意,以后一定要仔细认真哦.
------解决方案--------------------
想知道后面6位是什么内容?是空不?
------解决方案--------------------
b := 'test';
b的长度=4 ,你为什么用b【10】,超出范围