J'essaye d'écrire une fonction qui prend char*
comme paramètre d'entrée et le sérialisera dans JSON.char * à NSData question
Je rencontre un problème avec la conversion du paramètre d'entrée, options
en NSData. J'ai utilisé la ligne de code suivante:
NSData *data = [NSData dataWithBytes:options length:sizeof(options)];
Cela ne fonctionne pas. Un autre ensemble de code a fait le travail:
NSString* stringFromChar = [[NSString alloc] initWithUTF8String:options]; NSData * data = [stringFromChar dataUsingEncoding:NSUTF8StringEncoding];
Je suis curieux de savoir pourquoi il était nécessaire de convertir mon code de char*
à un NSString, puis à NSData et pourquoi je ne pouvais pas faire directement. Y a-t-il moyen de convertir directement char*
à NSData sans cette étape intermédiaire? Merci.
'sizeof (options)' est très probablement pas ce que vous attendez qu'il soit. Utilisez un 'NSLog' pour sortir cette valeur. Ou ajoutez plus de code pour donner plus de contexte à la question. – user3386109
Regardez la documentation de strlen(). –