字符串包含char(0)的问题

songshouding 2010-12-23 05:11:56


string as_data

as_data = '123' + char(0) +'abc'

实际上得到的as_data是'123'

如何能得到七个字节长度的字符串:'123 abc'?
...全文
139 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
songshouding 2011-01-04
  • 打赏
  • 举报
回复

没能成功,时间紧张,已经换了方案,没有深究。


介绍下目前的进度大家参考
使用了论坛里提供下载的winsock.pbl来实现socket通信(修改了下,send函数的参数改成了blob),需要发送char(0)。
写了个程序查看pb发出来的内容:

blob lb_data
lb_data = blob('123') + blob(char(0)) + blob('abc')

得到的是'123'+0x04+'abc'

blob lb_data
lb_data = blob('123') + blob(0) + blob('abc')

得到的是'123abc'

比较奇怪

先留在这里,看看后面能否搞明白。
谢谢大家!



184270428 2010-12-24
  • 打赏
  • 举报
回复
也可以
char array[]
david0927cs2006 2010-12-24
  • 打赏
  • 举报
回复
8楼说的对
pcwe2002 2010-12-24
  • 打赏
  • 举报
回复
还是改用blob吧。string的规定就是以char(0)结尾的。
pb8 2010-12-23
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 lzp_lrp 的回复:]
引用楼主 songshouding 的回复:
string as_data

as_data = '123' + char(0) +'abc'

实际上得到的as_data是'123'

如何能得到七个字节长度的字符串:'123 abc'?


这个不能放到字符串里,只能放到blob里

blob lb_data
lb_data = blob('123') + blob(……
[/Quote]

版主正确!如果是ansi的char(0)就代表了字符的结束,肯定就不会有后续了的~~
WorldMobile 2010-12-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 songshouding 的回复:]
string as_data

as_data = '123' + char(0) +'abc'

实际上得到的as_data是'123'

如何能得到七个字节长度的字符串:'123 abc'?
[/Quote]

这个不能放到字符串里,只能放到blob里

blob lb_data
lb_data = blob('123') + blob(char(0)) + blob('abc')

因为字符串是以char(0)结尾的,如果你把char(0)放到字符串里,后面的就忽略掉了,所以只有放在blob里
WorldMobile 2010-12-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 songshouding 的回复:]
string as_data

as_data = '123' + char(0) +'abc'

实际上得到的as_data是'123'

如何能得到七个字节长度的字符串:'123 abc'?
[/Quote]

这个不能放到字符串里,只能放到blob里

blob lb_data
lb_data = blob('123') + blob(char(0)) + blob('abc')

因为字符串是以char(0)结尾的,如果你把char(0)放到字符串里,后面的就忽略掉了,所以只有放在blob里
songshouding 2010-12-23
  • 打赏
  • 举报
回复

我要调用一个API函数,参数类型是blob。

目前我想要传递进去的是一个七个字符组成的字符串,由
char('1')+char('2')+char('3')+char(0)+char('a')+char('b')+char('c')
组成,string类型如何拼接:as_data = '123'+char(0)+'abc'的话,得到的是'123',后面的都丢掉了。
如果不能用string实现的话,用blob是否能得到,如何实现?



lightsword1 2010-12-23
  • 打赏
  • 举报
回复
表达不清楚,把你想要的最终形式贴出来,不行就插图!
smitxx 2010-12-23
  • 打赏
  • 举报
回复
那你是需要得到什么样的格式了?
songshouding 2010-12-23
  • 打赏
  • 举报
回复

as_data = '123' + char(' ')+'abc'
我需要的就是char(0),不是空格,我写的'123 abc',是因为没法表示char(0)才那么示意下

谢谢回复
mzssky 2010-12-23
  • 打赏
  • 举报
回复
楼上就可以
smitxx 2010-12-23
  • 打赏
  • 举报
回复
加个空格不就好了?

1,079

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧