通常情況下,使用
int seq=1234567890;
printf("%012d", seq);
會輸出一個以0開頭的12位長的字符串:001234567890。
但是,如果這個12的長度不確定,由一個變量控制, 有時是13,有時是16怎麼辦呢?
我的情況就比較典型,有上萬張圖片,要重命名其中的一部分。
我的解決辦法是
char format[20];
char format[200];
printf(format, 20, "%%0%dd", digits); //假設變量digits大小爲13的話,此時format中的字符串是"%013d",
printf_s(buf, 200, format, seq); // 此時buf中的字符串就是:0001234567890。