我用TMemoryStream读取一个文件,要提取其中的字符串
比如
TM.Position:=12;
我要读取 12-15(4个字节)之间的字符串, 不知道怎么多
如果是
Tm.Read(BufferStr,4); 这样得到的东西部正确
只有用本办法
str:='';
for I := 0 to 3 do
begin
Tm.Read(BufferStr,1);
str:=str+BufferStr;
end;
似乎这样不对吧另外 比如
读取 TM.Position:=32;
32-35(4个字节)的数字(00 00 80 00)
结果
Tm.Read(a,4);
读出来的是524288 也就是 00 80 00 00 好像也就是高低位的问题, 请问怎么正确读取不知道我表达清楚没有
比如
TM.Position:=12;
我要读取 12-15(4个字节)之间的字符串, 不知道怎么多
如果是
Tm.Read(BufferStr,4); 这样得到的东西部正确
只有用本办法
str:='';
for I := 0 to 3 do
begin
Tm.Read(BufferStr,1);
str:=str+BufferStr;
end;
似乎这样不对吧另外 比如
读取 TM.Position:=32;
32-35(4个字节)的数字(00 00 80 00)
结果
Tm.Read(a,4);
读出来的是524288 也就是 00 80 00 00 好像也就是高低位的问题, 请问怎么正确读取不知道我表达清楚没有
解决方案 »
- TDisplaySwitcher,TRxpopupMenu 是在甚麼控件包中的控件阿,在那裡有下載阿
- 关于DEPHI 6 考试 我不太……
- 文本编辑器的设计
- 小弟用OPENDIALOG让用户选择文件,用户选择了优盘中的一个文件后,不能停用优盘(在2000下)?
- DBGrid控件中时间类型字段的输入方法是否可以直接编辑输入呢???
- 不学了!卖书!!
- 关于ADO系列组件的Parameters的问题
- 第三方控件???
- 很菜鸟的问题
- bcb和delphi中一些变量前缀用的是 F ;比如 FSize: Integer; 这个F是什么单词的缩写。
- 怎么解决trunc的问题 trunc(2.01 * 1000) = 2009
- RO Internet难题
stream: TMemoryStream;
...
SetString(str_From_12_TO_15, PAnsiChar(LongWord(stream.Memory) + 12), 15 - 12 + 1);
第二个问题,则跟数据的字节序有关。如果明显字节序相反,可以通过winsock2单元的ntohl进行转换。