关于16进制的问题(50分)

  • 主题发起人 主题发起人 cjsam
  • 开始时间 开始时间
C

cjsam

Unregistered / Unconfirmed
GUEST, unregistred user!
我想生成一个文件,在文件的最后加上3个16进制的标志位。比如用ultraedit的16进制方式打开文件,在后三位是A1A1A1。
我用的TMemoryStream写文件。
var
stmp:string;
a:TMemorystream;
l:integer;
buff:pchar;
begin
a:=TMemoryStream.Create;
stmp:=????????????//我把$A1$A1$A1怎样加进呀,然后在后面生成的文件用ultraedit的16进制方式打开文件,在后三位是A1A1A1。
l:=length(stmp);
buff:=pchar(stmp);
a.Write(buff,l)

a.SaveToFile('c:/a.bin');
a.Free;
end;

谢谢。
 
buff:array [0..2] of byte;

buff[0] := $a1;
...
a.write(buff,3);
 
[:D]同意楼上。
 
var
stmp:string;
a:TMemorystream;
l:integer;
buff:pchar;
begin
a:=TMemoryStream.Create;
stmp:=Chr($A1) + Chr($A1) +Chr($A1);
l:=length(stmp);
buff:=pchar(stmp);
a.Write(buff[0],l)
//注意这里加了[0],或者改成直接写Stmp串:a.Write(stmp[1],l);
a.SaveToFile('c:/a.bin');
a.Free;
end;
 
多人接受答案了。
 
后退
顶部