Доброго времени суток, подскажите как ограничить размер строки в функциях 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.
К 2029 году в России прогнозируется увеличение числа зарядных станций до 40 000. При этом отечественный рынок электротранспорта имеет климатические, потребительские и географические особенности. Для успешной разработки и построения инфраструктуры станций заряда в России идеальным вариантом является использование решений и электронных компонентов китайских производителей – лидеров индустрии электротранспорта и возобновляемой энергетики, которые уже представлены в КОМПЭЛ.
Siarzhuk, такой вариант рассматривал.Но он требует математических операций, в принципе при достатке памяти можно и воспользоваться.
Перефразируя известную пословицу: Связавшись с printf-ом по байтикам не плачут. В XC8 printf конечно уоптимизированый и хитро-встраиваемый, но printf - это printf - загляните в map-файл сколько чего он за собой тащит при использовании его в проекте.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения