|
>printfの0詰めで >1だったら右に19999と全部で5桁として9を詰めたいのですがどうしたらよいのでしょうか?
const char *pad = "99999"; char s[256]; int n;
n = 1; sprintf(s, "%d", n); printf("%s%.*s\n", s, (int)(strlen(pad)-strlen(s)), pad);
または、
char s[256], *space; int n;
n = 1; sprintf(s, "%-5d", n); space = strchr(s, ' '); while (*space) *space++ = '9'; printf("%s\n", s);
こんな感じでどうでしょうか。
|