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

请教怎么将空值00写入到文件?就是用winhex打开显示的是00

2012-03-31 
请问如何将空值00写入到文件?就是用winhex打开显示的是00?我想把字符串写入文件,但是中间我想加入十六进制

请问如何将空值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);

热点排行