[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Он закидывает в качестве параметров вначале указатель на строку форматирования, потом если есть, спецификатор ширины или точности, и далее сами значения аргументов, но дело в том, что он отводит, например, под спецификатор ширины 2 байта, а, если Вы передаете тип char, то он берет следующий байт из старшего байта первого аргумента.
Да и вообще, не работает и такая конструкция:
sprintf(s, "%8.*d", 2, var);
а такая работает
sprintf(s, "%8.*d", (int)2, var);
Дело в том, что IARовский компилятор все это кушает элементарно
E-mail: info@telesys.ru