我具有包含字符数组这样一个结构:的NSString固定长度字符数组转换
char name[10];
现在我需要一种方法来的NSString转换为这种类型的字符串。
我已经可以这个字符串转换成的NSString:
NSString *string = [[NSString alloc] initWithBytes:name length:10
encoding:NSASCIIStringEncoding];
我具有包含字符数组这样一个结构:的NSString固定长度字符数组转换
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);
这就是我现在如何将一个NSString转换为char数组: 'char name [10]; NSString * str = @“John”; [str getCString:name maxLength:10 encoding:NSASCIIStringEncoding]; ' ,这是从一个字符数组转换成的NSString '的NSString * stringB = [NSString的stringWithCString:名称编码:NSASCIIStringEncoding];' 感谢您的帮助。 – QuerrrY