Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Что не так с sscanf?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Angel D
Здравствуйте!!! Может я конечно и заработался, но уже начал психовать. Есть такое:

...
unsigned char outStr[1024];
...

sscanf("123", "%x", &outStr[0]);

Работаю в IAR 6.21... Матерится варнингом Warning[Pe181]: argument is incompatible with corresponding format string conversion... Почему??

toweroff
поможет?
http://electronix.ru/forum/index.php?showt...ost&p=33887
aaarrr
Цитата(Angel D @ Dec 3 2011, 18:07) *
Почему??

Потому что спецификатор x подразумевает аргумент типа unsigned int, а вы пытаетесь скормить ему unsigned char. В последнем случае нужно использовать hhx:

..
unsigned char outStr[1024];
...
sscanf("123", "%hhx", &outStr[0]);

P.S. Кроме того, число 0x123 в unsigned char может не влезть, если он восьмибитный. Может, имелось в виду десятичное? Тогда %hhd.
Angel D
Спасибо, aaarrr! Помогло)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.