首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

字符数组的有关问题

2012-03-09 
字符数组的问题字符数组直接赋值是这样的-------------------------varCBuffer: array[0..18] of charbeg

字符数组的问题
字符数组直接赋值是这样的
-------------------------
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; 

热点排行