|
发表于 2022-9-24 11:54:20
|
显示全部楼层
本楼为最佳答案
没见过这个函数,如果没有的话,那就自己写一个
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- char *rjust(const char *str, size_t width, char ch) {
- size_t len = strlen(str);
- if(len >= width) return strdup(str);
- char *result = malloc(width + 1);
- char *p = result;
- size_t count = width - len;
- while(count--) *p++ = ch;
- for(size_t i = 0; str[i]; ++i) {
- *p++ = str[i];
- }
- *p = '\0';
- return result;
- }
- int main(void) {
- {
- char *s = rjust("123", 5, '0');
- puts(s);
- free(s);
- }
- {
- char *s = rjust("123", 3, '0');
- puts(s);
- free(s);
- }
- {
- char *s = rjust("123", 2, '0');
- puts(s);
- free(s);
- }
- {
- char *s = rjust("123", 10, '0');
- puts(s);
- free(s);
- }
- return 0;
- }
复制代码 |
|