2013-05-13 57 views
1

我想的NSString转换成char海峡[]转换的NSString成char海峡[]

我已经尝试了本

NSString *data = @"08052678744default0000000"; 
char mac [[data length]]; 
strncpy(mac ,[data UTF8String], [data length]); 

,但得到错误的结果。

您的帮助迫切需要解决这个问题。由于

+1

这是什么语言? ObjC? – 2013-05-13 11:42:26

+0

也许你在使用%@登录它时,你应该使用%s – Dima 2013-05-13 11:48:42

+0

@StefanoSanfilippo,它是ANSI-C的一半。 – holex 2013-05-13 11:48:47

回答

5

例如:

NSString *data = @"08052678744default0000000"; 
const char* utf8String = [data UTF8String]; 
size_t len = strlen(utf8String) + 1; 

char mac [len]; 
memcpy(mac, utf8String, len); 

注意字符串的长度和字节长度的区别!

+0

yup ..目标C ..但我想获得与char str [] =“mystring”相同的效果;但与NSString。 – Mayoor 2013-05-13 11:48:25

+0

更新了答案。 – Sulthan 2013-05-13 11:53:11

+0

谢谢你们!现在在您的帮助下获得了正确的价值。 – Mayoor 2013-05-13 12:00:50