-4

要求给定的字符串char input_str[5] = "Hello";必须用前导字符 = 填充0。因此结果将具有固定长度的10字符:out_put == "00000Hello".

知道如何在 C 中这样做吗?

4

1 回答 1

1

here you are an example

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 

If you have some doubt see this answer https://stackoverflow.com/a/9741091/3284537 where I extract the code

于 2018-05-30T16:18:01.430 回答