Добавьте начальные нули к строковому значению в C
Запрашивается данная строка char input_str[5] = "Hello";
должен быть дополнен ведущим символом = 0
, поэтому результат будет иметь фиксированную длину 10
персонажи: out_put == "00000Hello"
,
Любая идея, как это сделать в C?
1 ответ
Вот пример
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
Если у вас есть какие-либо сомнения, посмотрите этот ответ /questions/40777196/stroka-zapolneniya-v-c/40777219#40777219 где я извлекаю код