Добавьте начальные нули к строковому значению в 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 где я извлекаю код

Другие вопросы по тегам