1

我有一个包含这样的 char 数组的结构:

char name[10];

现在我需要一种将 NSString 转换为这种类型的字符串的方法。

我已经可以将此字符串转换为 NSString:

NSString *string = [[NSString alloc] initWithBytes:name length:10      
encoding:NSASCIIStringEncoding];
4

2 回答 2

0

您可以使用以下getCString:maxLength:encoding:方法执行此操作NSString

char name[10];
NSString *s = @"Hello";
[s getCString:name maxLength:10 encoding:NSASCIIStringEncoding];
于 2012-08-31T13:59:58.543 回答
0

来回的完整转换过程:

// 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);
于 2012-08-31T14:17:56.600 回答