gpt4 book ai didi

c++ - Obj-C NSLog 缓冲区

转载 作者:行者123 更新时间:2023-11-30 17:11:30 27 4
gpt4 key购买 nike

我有以下函数,我正在尝试将 dataIn 打印到 NSLog,

some_function (const void *dataIn, size_t dataInLength)
{
NSMutableString *in1 = [NSMutableString string];
for (int i=0; i<dataInLength; i++)
[in1 appendFormat:@"%02x", dataIn[i]];
}

这是我当前的代码,但是在编译时我得到“错误:指向不完整类型'const void'的指针的下标”

有人知道我该如何解决这个问题吗?

最佳答案

您需要一些 Actor :

void some_function (const void *dataIn, size_t dataInLength)
{
const char *cdata = (const char *)dataIn;
NSMutableString *in1 = [NSMutableString string];
for (int i=0; i<dataInLength; i++)
[in1 appendFormat:@"%02x", (unsigned)cdata[i]];
}

第一个是[i]知道要偏移到缓冲区中的字节数(sizeof(char)已知),第二个是转换为unsigned 因为这就是 printf-formatting 所期望的 %x 说明符值的大小(你可能实际上并不需要这个,但我很挑剔)。

关于c++ - Obj-C NSLog 缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32198770/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com