var
str:shortstring;
i:integer;
begin
for i:= 1 to 255 do
str[i]:='w';
end;
如此str的长度应该是255吧,但是用length(str)却是176;为什么?
str:shortstring;
i:integer;
begin
for i:= 1 to 255 do
str[i]:='w';
end;
如此str的长度应该是255吧,但是用length(str)却是176;为什么?
str[0] := 255;
这样就是255了。
var
str:String[255];//这就表示一个255个字符的ShortString字符串
i:integer;
begin
for i:= 1 to 255 do
str[i]:='w';
end;
因为ShortString主要用于向Dephi1.0兼容,所在平时我们所使用的都是AnsiString。在声明ShortString的时候,最好声明其长度。
试试看!!!
或
str[0] := Chr(255);直接赋数字无法通过语法检查
你这样做可以强行改变字符串的长度
但是,我想知道的是为什么字符串的长度会是176呢
而我已经很明显的给它赋值了255个'w'呀。to CSDNBowlder
这样也不行