如何打印出指向NSLog的UInt16指针

问题描述

| 我只是想打印出指向我的日志的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);
//....
    

解决方法

        尝试用于int
NSLog(@\"Data = %d\",a);
或您的UInt16(感谢@bshirley提供以下格式说明符的列表)
NSLog(@\"Data = %hu\",a);
    ,        您是否要打印地址或值?从代码的设置方式上,您应该使用
%d
,但是对于指针,您将使用
NSLog(\"%p\",ans);
。 “ 6”格式仅适用于对象。