朋友们好,读文件用BinToHex转换,结尾出现乱码,何故?(100)

  • 主题发起人 lfj_hycs
  • 开始时间
L

lfj_hycs

Unregistered / Unconfirmed
GUEST, unregistred user!
朋友们好!在用FileStream.ReadBuffer读入一个文件时想要显示十六进制字符,BinToHex转换后尾部多出如下的 "X"、"*"、"&"等字符,而且读取同样长度的内容多读几次后也可能不一样,搞了一晚上了也不知道为什么,郁闷!还请朋友们帮忙!谢谢!1260X8A050000002C8A050000002C008A050000002C0000*8A050000002C00002300&8A050000002C0000232B&8A050000002C0000232B008A050000002C0000232B0000*以下是程序代码,请朋友们帮忙看一下有什么问题吧,谢谢!procedure TForm1.Button1Click(Sender: TObject);var p : Pchar;
h : Pchar;
c : integer;
begin
c := strtoint(edit1.Text);
sm.Position := 12;
//sm:TFilestream 已加载 getmem(p,c);
sm.ReadBuffer(p^,c);
getmem(h,c*2);
bintohex(p,h,c);
memo1.Lines.Add(h);
freemem(p);
freemem(h);
end;
 
Q

qqjm

Unregistered / Unconfirmed
GUEST, unregistred user!
你试一试改成getmem(h,c*2 + 1);
 
L

lfj_hycs

Unregistered / Unconfirmed
GUEST, unregistred user!
非常感谢!这样就正常了getmem(h,c*2 + 1);
zeromemory(h,c*2 + 1);
 

Similar threads

回复
0
查看
803
不得闲
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
633
import
I
I
回复
0
查看
690
import
I
顶部