реклама на сайте
подробности

 
 
> Что не так с sscanf?
Angel D
сообщение Dec 3 2011, 14:07
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 16-11-10
Пользователь №: 60 944



Здравствуйте!!! Может я конечно и заработался, но уже начал психовать. Есть такое:

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

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

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

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Dec 3 2011, 17:20
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(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.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th July 2025 - 14:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.0137 секунд с 7
ELECTRONIX ©2004-2016