次のような char 配列を含む構造体があります。
char name[10];
ここで、NSString をこのタイプの文字列に変換する方法が必要です。
私はすでにこの文字列を NSString に変換できます:
NSString *string = [[NSString alloc] initWithBytes:name length:10
encoding:NSASCIIStringEncoding];
次のような char 配列を含む構造体があります。
char name[10];
ここで、NSString をこのタイプの文字列に変換する方法が必要です。
私はすでにこの文字列を NSString に変換できます:
NSString *string = [[NSString alloc] initWithBytes:name length:10
encoding:NSASCIIStringEncoding];
getCString:maxLength:encoding:
次の方法でこれを行うことができますNSString
:
char name[10];
NSString *s = @"Hello";
[s getCString:name maxLength:10 encoding:NSASCIIStringEncoding];
前後の完全な変換プロセス:
// from NSString through char* to NSString again
NSString *text = @"long text or short";
const char *constName = [text UTF8String];
char *name = malloc(sizeof(unichar) * text.length + 1);
memcpy(name, constName, sizeof(unichar) * text.length);
NSString *fromChar = [NSString stringWithUTF8String:name];
NSLog(@"%@", fromChar);
free(name);