-
Информация о материале
-
Автор: Super User
-
Родительская категория: Заметки
-
Категория: Программирование
-
-
-
Просмотров: 1644
uint8_t * Itoa_R(uint8_t * StrDst, uint8_t SizeOfStr, int16_t Number){ // right aligment version of Itoa
uint8_t * pStrDst = &StrDst[SizeOfStr - 2];
int16_t Tmp;
uint8_t i; // just the index
uint8_t Sign = 0;
if(Number < 0 )Sign =1;
Number = (Number < 0) ? -Number : Number;
if(!Number){
i = 2;
*pStrDst-- = '0';}
else
for(i = 1; i < SizeOfStr && Number; i++){
Tmp = Number%10;
*pStrDst-- = Tmp + 0x30;
Number /= 10;
}
if (Sign){
*pStrDst-- ='-';
i++;
}
while(i < SizeOfStr){
*pStrDst-- = ' ';
i++;
}
return StrDst;
}