ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
19 мая
266273 Топик полностью
fk0, легенда (09.08.2011 13:13, просмотров: 136) ответил Vladimir Ljaschko на Объясните плз про printf. Это действительно для корректного вывода unsigned char нужно использовать %hhu? И как я жил раньше, с %d?
Во-первых надо понимать, что аргументы функции будут расширены до (unsigned) int в любом случае (при передаче в функцию, при вычислениях и т.п.) Поэтому и %d работает. Но вот при приводе char с неизвестной знаковостью (в половине компиляторов signed, в половине unsigned) к unsigned или к signed int корректное число получится либо при явном задании знаковости char (путём приведения типов), либо путём вычисления "c & 0xFF", где c -- char с любой знаковостью. Будет ли int знаковым в последнем случае не важно. Все эти %hu и т.п. очень специфичны и я бы обошёлся традиционными форматами...
[ZX]