如何打印到NSLog的UInt16指针

时间:2011-06-15 02:41:54

标签: iphone ios nslog

我只是试图将UInt16指针打印到我的日志中,所以我可以看到它的异议......但是到目前为止我没有任何成功,任何人都知道如何做到这一点,我在想它的格式说明符但是因为我对这类事情没有太多经验,我只是不知道。我得到的警告是“初始化从指针目标类型中丢弃限定符”

//....
    [nissanCode seekToFileOffset: 2];
    dataBuffer = [nissanCode readDataOfLength:SETSIZE];
    UInt16 *ans = dataBuffer.bytes;
    UInt16 a = *ans;
    NSLog (@"Data = %@", a);
//....

//修改了清除警告并打印数据的代码。谢谢你的帮助。

//....
    [nissanCode seekToFileOffset: 2];
    dataBuffer = [nissanCode readDataOfLength:SETSIZE];
    const UInt16 *ans = dataBuffer.bytes; 
    NSLog (@"Data = %d", a);
//....

2 个答案:

答案 0 :(得分:3)

尝试使用int的

NSLog(@"Data = %d", a);

或者你的UInt16(感谢@bshirley下面的格式说明符列表)

NSLog(@"Data = %hu", a);

答案 1 :(得分:0)

您是否正在尝试打印地址或值?从您的代码设置方式来看,您应该使用%d,但对于指针,您将使用NSLog("%p", ans);%@格式仅适用于对象。