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

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

最佳答案

这是一个例子

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
我提取代码的地方

08-18 12:02