怎么在字符串后面加上ascii零呀(在线等待)(50分)

  • 主题发起人 主题发起人 tomsyang
  • 开始时间 开始时间
T

tomsyang

Unregistered / Unconfirmed
GUEST, unregistred user!
比如:username:='111',想在username后面加上ascii作为字符串的结束符,在程序中怎么实现呀。谢谢了。急!!!
 
username+#0
 
同意楼上!

 
用 username:=username+#0 是可以的。但不知你的用意如何?如果是为了调用 win api,只要进行类型转换 PChar(username) 就可以了。
 
username:='sdfsdf'#12
 
问题是,现在服务器方希望客户发过去的字符串是以ascii零结束的,而这个字符串是固定长度的,服务器方以ascii零认为结束,剩下的字符随便是什么都行,但也要添上,上面的方法都试过了。但是服务器返回的包体当中都是#0第十三位也就是我要的是#1,而协议当中应当是无符号整型0。我都快不行了。

我接受到的包体在字符串中表现为:#0,#0,#0,#0,#0,#0,#0,#0,#0,#0#0,#0,#1
 
StringReplace(str,#0,#255,[rfReplaceAll, rfIgnoreCase] )
 
不理解。既然字符串以0结尾,为什么又是固定长度?
 
这样子么?
Function FullStr(s:String; l:integer;const C:String=' '):String;
//用C将S的长度填充够l个字符
var i, ilen:integer;
Begin
iLen:=length(s);
result:=s;
for i:=l downto iLen+1 do
Result:=c+result;
End;
 
后退
顶部