J'essaye d'envoyer une chaîne terminée par \ 0 à un socket tcp mais il semble que le \ 0 n'atteint jamais sa destination.Envoyer un NSString avec 0
En utilisant ce code:
NSString* [email protected]"<b/> \0_";
uint8_t *buf = (uint8_t *)[s UTF8String];
int resCode = [outputStream write:buf maxLength:strlen((char *)buf)];
Il me semble que d'envoyer @"<b/> "
. Probablement le \0
est considéré comme la fin du uint8_t
. Est-ce que quelqu'un peut me dire comment cela doit être fait?
Ne pas utiliser NSString pour envoyer des données. Utilisez NSData ou un tampon d'octets. – bbum
Vous devriez vraiment vérifier quelques informations comment fonctionnent les chaînes. Surtout comment les chaînes sont échappées, alors vous saurez pourquoi strlen ne retourne pas la longueur valide. – miho