要求给定字符串 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 我在哪里提取代码
关于c - 在 C 中向字符串值添加前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50609190/