【发布时间】:2010-08-11 14:18:19
【问题描述】:
我正在尝试将一个以 \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 的结尾。
谁能告诉我应该怎么做??
【问题讨论】:
-
不要使用 NSString 来发送数据。使用 NSData 或字节缓冲区。
-
你真的应该看看字符串是如何工作的一些信息。尤其是字符串是怎么转义的,那你就知道为什么strlen没有返回有效长度了。
标签: iphone objective-c nsstring special-characters uint