Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

Выравнивание с правой стороны, с учётом терминатора '\0' и стандартное копирование.

void FastStrCpy(const uint8_t * Src, uint8_t * Dst, uint8_t SizeOfDst, Text_AlignModeTypdef Direction){ // Direction is 0 = default(LEFT one), 1 = // MAXSTRINGLENGTH is compare with max index
uint8_t i = 0;
uint8_t length = 0;
switch (Direction){
case LEFT_MODE: // for(i = 0; i < SizeOfDst; i++){

   if(*Src != '\0' ) *Dst++ = *Src++;
   else {*Dst='\0'; break;}

} break;
 case RIGHT_MODE:
  while(Src[i++])length++;
  for(i = 1; i < length+1 ; i++) // the lastest symbol is '\0'
   Dst[SizeOfDst-i-1] = Src[length-i]; //:) break;
 }
}

 program 19092016