c - 在 C 中向字符串值添加前导零

标签 c string zero-padding

要求给定字符串 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/

相关文章:

Javascript 十六进制字符串到图像

r - 如何避免 : read. 表截断以 0 开头的数值

c++ - 如果字符串在 C++ 中有字母,如何使用 stoi 并返回 false?

string - 如何存储字符串矩阵并写入文件?

python - 如何用零填充字符串?

c - Linux终端内置功能

android - 使用 FFMPEG 播放音频

c - 读取一行、标记并分配给 C 中的结构体

objective-c - 在 Objective-C 中创建 TTF