例如,我有一个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是一个类,你创建它的一个实例,所以你必须放一个*.如果您创建一个数组,只需填充它以查看某些内容..
改成
NSString *marketPacket
实际上应该给你一个编译器错误。奇怪的。至少,假设您复制并粘贴了代码,您需要一个指向 NSString 的指针(因为它是托管对象)。