как распечатать UInt16 указатель на NSLog - PullRequest
1 голос
/ 15 июня 2011

Я просто пытаюсь распечатать указатель 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 ]

3 голосов
/ 15 июня 2011

попробуйте использовать для INT

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

или для ваших UInt16 (спасибо @bshirley за список спецификаторов формата ниже)

NSLog(@"Data = %hu", a);
0 голосов
/ 15 июня 2011

Вы пытаетесь напечатать адрес или значение?Исходя из того, как настроен ваш код, вы должны использовать %d, но для указателя вы должны использовать NSLog("%p", ans);.Формат %@ предназначен только для объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...