Добавить начальные нули к строковому значению в C - PullRequest
0 голосов
/ 30 мая 2018

требуется, чтобы заданная строка char input_str[5] = "Hello"; была дополнена начальным символом = 0.поэтому результат будет иметь фиксированную длину 10 символов: out_put == "00000Hello".

Есть идеи, как это сделать в C?

1 Ответ

0 голосов
/ 30 мая 2018

вот вам пример

int targetStrLen = 10;           // Target output length  
const char *myString="Hello";   // String for output 
const char *padding="0000000000000000000000000000000000000000000000000000000000000";

int padLen = targetStrLen - strlen(myString); // Calc Padding length
if(padLen < 0) padLen = 0;    // Avoid negative length

printf("[%*.*s%s]", padLen, padLen, padding, myString);  // LEFT Padding 
printf("[%s%*.*s]", myString, padLen, padLen, padding);  // RIGHT Padding 

Если у вас есть сомнения, посмотрите этот ответ https://stackoverflow.com/a/9741091/3284537, где я извлекаю код

...