如何将char数组更改为NSString

Gao*_*188 7 iphone nsstring

例如,我有一个char数组:

char array[8];
Run Code Online (Sandbox Code Playgroud)

我试过了:

NSString *marketPacket = [NSString stringWithCString:array encoding:NSASCIIStringEncoding];
NSLog(@"%@",marketPacket);
Run Code Online (Sandbox Code Playgroud)

但显示损坏的字符

kle*_*vre 14

char array[5] = {'a', 'b', 'c', 'd', '\0'};
NSString *marketPacket = [NSString stringWithCString:array encoding:NSASCIIStringEncoding];

NSLog(@"%@", marketPacket);
Run Code Online (Sandbox Code Playgroud)

NSString是一个类,你创建它的一个实例,所以你必须放一个*.如果您创建一个数组,只需填充它以查看某些内容..


Dar*_*Teo 0

改成

NSString *marketPacket

实际上应该给你一个编译器错误。奇怪的。至少,假设您复制并粘贴了代码,您需要一个指向 NSString 的指针(因为它是托管对象)。