如何将 char 数组更改为 NSString

发布于 2024-12-05 13:43:57 字数 235 浏览 0 评论 0原文

例如我有一个字符数组:

char array[8];

我尝试过:

NSString *marketPacket = [NSString stringWithCString:array encoding:NSASCIIStringEncoding];
NSLog(@"%@",marketPacket);

但显示损坏的字符

for example I have a char array :

char array[8];

i tried:

NSString *marketPacket = [NSString stringWithCString:array encoding:NSASCIIStringEncoding];
NSLog(@"%@",marketPacket);

but displays corrupted characters

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

白昼 2024-12-12 13:43:57
char array[5] = {'a', 'b', 'c', 'd', '\0'};
NSString *marketPacket = [NSString stringWithCString:array encoding:NSASCIIStringEncoding];

NSLog(@"%@", marketPacket);

NSString 是一个类,您创建它的实例,因此您必须放置一个 * 。
如果您创建一个数组,只需填充它即可看到一些内容。

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

NSLog(@"%@", marketPacket);

NSString is a class and you create an instance of it, so you have to put a * .
If you create an array, just populate it to see something..

圈圈圆圆圈圈 2024-12-12 13:43:57

更改为

NSString *marketPacket

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

Change to

NSString *marketPacket

Should have given you a compiler error, actually. Strange. At least, assuming you copied and pasted the code, you need a pointer to NSString (as it is a Managed Object).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文