所以我想知道,是否有一些快速的方法可以将一个充满 NSStrings 的 NSArray 转换为等效的 UTF8string 值?
我想将一些参数配置存储在 NSArray 中,然后在以 (int argv, const char *argv[]) 作为参数的函数中使用它们。
我以一种复杂的方式实现了这一点
int argc = [gameParameters count];
const char **argv = (const char **)malloc(sizeof(const char*)*argc);
for (int i = 0; i < argc; i++) {
argv[i] = (const char *)malloc(sizeof(char)*[[gameParameters objectAtIndex:i] length]+1);
strncpy((void *)argv[i], [[gameParameters objectAtIndex:i] UTF8String], [[gameParameters objectAtIndex:i] length]+1);
}
但我不太满意,清理内存很乏味。
您知道实现此结果的更好方法吗?