请问如何将空值00写入到文件?就是用winhex打开显示的是00?
我想把字符串写入文件,但是中间我想加入十六进制00,就是用winhex查看的时候显示是00,但是我在字符串未尾加入#0,显示的时候是却不全是00
s := '字符串转换测试sadf84测试 ' + #0#0#0#0#0#0#0#0#0#0;
strFilename:= 'c:\a.dat ';
filehandle:= Filecreate(strFilename, fmOpenWrite);
StrPCopy(a, s); //将字符串中的内容写入数组
FileWrite(filehandle,a, length(s));
FileClose(filehandle);
用winhex查看的时候显示的却不是10个00,而是隔三个00就会出现一个非00。请大家帮忙啊!
[解决办法]
s : string;
a : array of char;
p : PChar;
f : Integer;
begin
s := '测试输入的东西 ';
SetLength(a,Length(s)+10);
p := @a[0];
FillChar(p^,Length(a),0);
strpcopy(P,s);
f := FileOpen( 'E:\aaa.dat ',fmOpenWrite);
fileseek(f,0,2);
filewrite(f,p^,Length(a));
fileclose(f);
end;
[解决办法]
s := '字符串转换测试sadf84测试 ' + #0#0#0#0#0#0#0#0#0#0;
strFilename:= 'g:\a.dat ';
filehandle:= Filecreate(strFilename, fmOpenWrite);
FileWrite(filehandle,s[1], length(s));
FileClose(filehandle);