问题是这样的
有个TStringStream
里面存有数据,如果存成文件用winhex进行查看
可以看出是这样的一个结构00[字符串1]00[一个无符号整形数i(<65535)]0000[字符串2]00[字符串3]00.....大致就是这么一个结构
举个具体的例子就是将其直接存为二进制文件后是这种文件流:
0062000C00000063006400
这里是字符串1=a,字符串2=b,字符串3=c,字符串4=d,i=12因为其中有00,也就是字符串中的终止符,所以我直接用tstringstream的readstring无法正常将其转化为string但是我现在需要用程序分别取出tstringstream中的 字符串1,字符串2,字符串3...和i的值,有什么办法?
每个字符串的长度是不固定的。
有个TStringStream
里面存有数据,如果存成文件用winhex进行查看
可以看出是这样的一个结构00[字符串1]00[一个无符号整形数i(<65535)]0000[字符串2]00[字符串3]00.....大致就是这么一个结构
举个具体的例子就是将其直接存为二进制文件后是这种文件流:
0062000C00000063006400
这里是字符串1=a,字符串2=b,字符串3=c,字符串4=d,i=12因为其中有00,也就是字符串中的终止符,所以我直接用tstringstream的readstring无法正常将其转化为string但是我现在需要用程序分别取出tstringstream中的 字符串1,字符串2,字符串3...和i的值,有什么办法?
每个字符串的长度是不固定的。
解决方案 »
- 关于button得一个小问题。。。。
- 怎样捕获ListView中鼠标点击的坐标!??
- 在delphi中替换Word中的特殊标记,但只能替换一次
- 怎么判断字符串中某字符是否为汉字?
- ★★TSQLConnection如何用代码动态设置数据库密码?
- 多少分才出星啊??
- 一个让我不能入睡的问题,各位大哥可以帮我一下吗?
- socket 问题,怎么实现通过socket 不用握手协议,判断数据已经发送成功??
- 在ACCESS里面是备注的字段,在DELPHI里面应该拿什么类型进行匹配
- 帮我呀!报表中字符串字段怎么折行显示?
- 在delphi中,怎样在form1.pagecontrol组件的tabsheet2中实现停靠form2,而且是用manualdock函数来实现停靠的
- 怎样从登陆的Form传递信息给另一个form里面的webbrowser控件?急在线等待!!!
然后从头一个字节一个字节的读,读到第一个不是0的字节,就是字符串1的开始,再读到下一个0,就是字符串1的结束....依此类推...
delphi自带的帮助你有用法
var
s:string;
a:integer;
s:=#1#1#0'dsf'#0'adsf'#0#$EA#0#0#0'sfg'#0'ds'#0;//我首贴说的那种格式类似
a:=pos(s,'d');得不到正确的pos