"Hello00000"。 char *StringPadRight(char *string, in-6ren">
gpt4 book ai didi

c - C 中的字符串填充

转载 作者:太空狗 更新时间:2023-10-29 16:16:07 26 4
gpt4 key购买 nike

我编写的这个函数应该执行 StringPadRight("Hello", 10, "0") -> "Hello00000"。

char *StringPadRight(char *string, int padded_len, char *pad) {
int len = (int) strlen(string);
if (len >= padded_len) {
return string;
}
int i;
for (i = 0; i < padded_len - len; i++) {
strcat(string, pad);
}
return string;
}

它有效,但有一些奇怪的副作用……一些其他变量被改变了。我该如何解决这个问题?

最佳答案

知道 printf 为您填充可能会有所帮助,使用 %-10s 作为格式字符串将在 10 个字符长的字段中填充输入

printf("|%-10s|", "Hello");

会输出

|Hello     |

在这种情况下,- 符号表示“左对齐”,10 表示“字段中的十个字符”,而 s 表示您正在对齐字符串。

Printf 风格的格式化在多种语言中可用,并且在网络上有大量引用资料。这是 one of many pages解释格式化标志。一如既往WikiPedia's printf page也有帮助(主要是关于 printf 传播范围的历史教训)。

关于c - C 中的字符串填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/276827/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com