C++中數字格式化成字符串輸出時,如果字符串長度是變量怎麼辦?

通常情況下,使用

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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章