读书人

字符数组的有关问题

发布时间: 2012-03-09 21:42:55 作者: rapoo

字符数组的问题
字符数组直接赋值是这样的
-------------------------
var
CBuffer: array[0..18] of char;
begin
CBuffer[0] := char($5B);
CBuffer[1] := char($5E);
end
--------------------------
现在我有个字符串

str := '5B5E'

我想和直接赋值一样赋给Cbuffer应该怎么写啊?

[解决办法]
str := '5B5E'
直接赋值?让数组等效于:
CBuffer[0] := char($5B);
CBuffer[1] := char($5E);

除了每2位拆开再转换成16进制,然后转成char赋值,我也想知道有没其它办法!!!!!
[解决办法]
如果不是超大的,可以下面:
i := StrToInt('$'+str);
move(@i,CBuffer[0],Length(str) div 2);
[解决办法]
i:=0;
while true do
begin
CBuffer[i]:=char(strToInt('$'+copy(str,1,2)));
delete(str,1,2);
inc(i);
if str='' then break;
end;
[解决办法]

Delphi(Pascal) code
    C := S[i+1];    Case C of       '0'..'9' : Byte(CBuffer[i]) := Byte(C)-$30;      'A'..'F' : Byte(CBuffer[i]) := Byte(C)-65 + 10;      'a'..'f' : Byte(CBuffer[i]) := Byte(C)-97 + 10      else 出错处理;    end; 

读书人网 >.NET

热点推荐