要求给定的字符串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
我提取代码的地方