2013-05-13 82 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