Доброго времени суток, подскажите как ограничить размер строки в функциях sprint,print. Вроде должно быть что то вроде snprint, но такой в компиляторе нет.И как ограничить выводную переменную.То есть buf_2=-25365, а вывести мне надо -253 или последние 65. Код такой использую: char mass_buf[15]; //массив int buf_1; // переменная 1 int buf_2; // переменная 2 ....... ....... sprintf(mass_buf,"b_1=%x b_2=%d",buf_1,buf_2); ....... ....... Если строка больше массива, то "портятся" другие регистры. Пробовал запись b_1=%2x. Но число выводится полностью.
как ограничить выводную переменную.То есть buf_2=-25365, а вывести мне надо -253 или последние 65. [...] Пробовал запись b_1=%2x. Но число выводится полностью.
Согласно спецификации 2 здесь гарантированная ширина поля вывода а не максимально доступная. Поэтому и "распирает".
A "oтбить сотые" можно делением:
Код:
printf("%d.%02d", buf_2 / 100, buf_2 % 100);
_________________ Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR!
Siarzhuk, такой вариант рассматривал.Но он требует математических операций, в принципе при достатке памяти можно и воспользоваться. Как понял что в XC8 sprint,print вводимую строку нельзя ограничить, что бы не "портить" старшие регистры при переполнении массива. Аlex, ничего не мешает.Цель обучится работе с компилятором XC8.
Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Siarzhuk, такой вариант рассматривал.Но он требует математических операций, в принципе при достатке памяти можно и воспользоваться.
Перефразируя известную пословицу: Связавшись с printf-ом по байтикам не плачут. В XC8 printf конечно уоптимизированый и хитро-встраиваемый, но printf - это printf - загляните в map-файл сколько чего он за собой тащит при использовании его в проекте.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения