导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
2003/10/29 22:24:10
标题:
加入我的收藏
楼主:
我正在寫一個小程序,快被逼瘋了。 不費話了。問題: 格式(Hex):06 00 65 66 67 68 69 70 一、從流中讀取不定長度的字符用什麽? 可以看的出來第1,2位是長度,後邊跟著字符,正確答案應該是'ABCDEF',用String顯然不能做爲Buffer,在很多地方我都用Pchar,但在這裏我用Pchar會出錯……就是那種沒有提示的給出一個內存地址的錯誤,FAINT…… 我只有用Help中讀取文件的那個array[1..x] of char了,但這又不能滿足不定長度的需要,總不能定義一個65535長度的數組吧。 二、有沒有可能因爲delphi自己或是內存的原因出那種錯誤。因爲我覺得我的代碼沒有錯誤。呵呵,有時運行正常,但加了一點無關緊要的代碼就會出錯。
----------------------------------------------
——混世生
作者:
zizii (高高高级馒头)
★☆☆☆☆
-
神秘会员
2003/10/29 22:26:34
1楼:
用Pchar吧,一般都是这样,一般的流都提供readbuffer函数。
----------------------------------------------
维护世界和平,共创美好盒子。
作者:
2003/10/30 0:27:14
2楼:
用pchar可以的。
----------------------------------------------
-
作者:
2003/10/30 0:28:02
3楼:
我想可能你没有初始化pchar吧,先分配内存哦
----------------------------------------------
-
作者:
2003/10/30 21:06:29
4楼:
分配内存是什么意思。 请详细一点好吗。 我的关键部分代码差不多是这样的。M是TMemoryStream,是一个全局变量。应该没有错误吧? var p : pchar; i : word; begin M.seek(0, soFromBeginning); M.readbuffer(i ,2); M.readbuffer(p, i); end;
----------------------------------------------
——混世生
作者:
catanx (catanx)
★☆☆☆☆
-
盒子活跃会员
2003/10/31 10:02:27
5楼:
他的是16进制流 BlockRead(f,b,sizeof(b),NumRead);
----------------------------------------------
我常逛的一个电影站,写写程序看看电影,不要太累了,会死人的:)www.ddvan.com 很有特色哦,自己发觉吧。
作者:
2003/10/31 19:30:45
6楼:
BlockRead很简单,以前我用这个,没有出过错。
----------------------------------------------
——混世生