0

我正在使用类似的东西sprintf(base_name,"%d.pgm", frame_number);并作为整数传递frame_number(即 1、2、3、...10、11 等)来生成以下图像名称序列:

1.pgm, 2.pgm, 3.pgm....10.pgm, 11.pgm etc.

如何更改它以输出以下内容:

0001.pgm, 0002.pgm, 0003.pgm....0010.pgm, 0011.pgm etc.

我正在使用它从文件中加载图像。

4

2 回答 2

3

使用%04d.

0 表示开头加 0,4 表示最小位数

于 2013-10-16T13:24:10.567 回答
3

sprintf(base_name, "%04d.pgm", frame_number);我相信这就是你要找的。

%04d方法...

%d是 的占位符int0表示前导零。 4表示总字段宽度至少为 4 个字符宽(在这种情况下,额外的空格用您的前导零填充)。

这些被称为format specifiers并且它们来自,因此据我所知C,它们在所有语言中都是通用的。C-based如果你以后有类似的问题,只要搜索C printf format specifiers一下什么的,你可能会得到你要找的东西。

于 2013-10-16T13:24:10.667 回答