0

次のようなイメージ名のシーケンスを生成するために、整数 (つまり、1、2、3、...10、11 など) としてsprintf(base_name,"%d.pgm", frame_number);渡すようなものを使用しています。frame_number

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 に答える