struct DATA
{
unsigned char USERNAME[32];
};
我想複製一個NSString
結構DATA.USERNAME
,如何做到這一點?NSString爲char []?
struct DATA
{
unsigned char USERNAME[32];
};
我想複製一個NSString
結構DATA.USERNAME
,如何做到這一點?NSString爲char []?
您可以使用-[NSString UTF8String]
方法來獲取NSString的C字符串。然後,您可以使用strncpy(DATA.USERNAME, [mystring UTF8String], 32);
將該字符串複製到結構中。
您首先需要知道預期的編碼。 NSString可以在各種編碼中生成字節。然後你將一個指向USERNAME
數組的指針傳遞給getCString:maxLength:encoding:
。因此,舉例來說,如果你想NSString的myCocoaString
的內容爲UTF-8複製到數據結構稱爲myData
的用戶名字段中,你會怎麼做:
BOOL success = [myCocoaString getCString:myData.USERNAME maxLength:32 encoding:NSUTF8StringEncoding];
NSLog(@"Was %@ to store string contents in USERNAME!", success ? @"able" : @"not able");
另外,如果你需要USERNAME爲空終止,添加`DATA.USERNAME [31] ='\ 0';` – cobbal 2010-12-23 04:59:44
@cobbal:好點,錯過了。 – 2010-12-24 06:03:05