\ 0으로 끝나는 문자열을 TCP 소켓에 보내려고하지만 \ 0이 목적지에 도달하지 않는 것 같습니다. 0으로 NSString 보내기
이 코드를 사용 :
NSString* [email protected]"<b/> \0_";
uint8_t *buf = (uint8_t *)[s UTF8String];
int resCode = [outputStream write:buf maxLength:strlen((char *)buf)];
는 난 단지 @"<b/> "
을 보낼 것 같다. 아마도 \0
은 uint8_t
의 끝으로 간주됩니다.
누군가 어떻게해야하는지 말해 줄 수 있습니까 ?? \ 0 '문자는 항상 종료 문자로 처리됩니다
NSString을 사용하여 데이터를 보내지 마십시오. NSData 또는 바이트 버퍼를 사용하십시오. – bbum
문자열의 작동 방식에 대한 정보를 실제로 확인해야합니다. 특히 문자열이 어떻게 이스케이프되는지, 그러면 strlen이 유효한 길이를 반환하지 않는 이유를 알 수 있습니다. – miho