发送的NSString与\ 0
-
27-09-2019 - |
题
我试图发送带有\ 0到TCP套接字结束的字符串,但它似乎\ 0也从来没有到达目的地。
使用此代码:
NSString* s=@"<b/> \0_";
uint8_t *buf = (uint8_t *)[s UTF8String];
int resCode = [outputStream write:buf maxLength:strlen((char *)buf)];
我似乎只是发送@"<b/> "
。大概\0
被看作是uint8_t
的结束。
有人可以告诉我应该怎么做?
解决方案
当然它发送它而不\ 0。 strlen
将返回长度的字符串,不包括空终止。它更改为类似
[outputStream write:buf maxLength:(strlen((char *)buf) + 1)]
其他提示
你为什么要发“] 0]字符在字符串中.....
你不能使用任何其他字符...因为“\ 0”字符始终被视为终止符!
如果你真的想这样发送然后发送一个不同的角色和地图为“\ 0”,当你接收地嘛!
不隶属于 StackOverflow