2017-12-20 2 views
2

をインクリメントすることにより、ファイル名を変更する:だから私はループのためにこれを持っている

for (int x = 1; x < 13; x++) 
{ 
    inputImages.push_back(Image(3264, 2448)); 
    inputImages[x] = readPPM("Images/ImageStacker_set1/IMG_1.ppm"); 
} 

私は何をしようとしているが、それはそれは言うファイル名をインクリメントしますので、ファイル名にループ変数を追加することです。

IMG_1.ppm 

1を変数xに置き換えるときは、ループするたびに新しいファイルが配列に追加されます。

私はこのような何かをしようとしたが、それはうまくいきませんでした:

inputImages[x] = readPPM("Images/ImageStacker_set1/IMG_"<< x <<".ppm"); 

誰もがこれを行うための方法を持っていますか?

+0

使用 '+は' PPM "); ? – Fureeish

+0

[X] = readPPM( "画像/ ImageStacker_set1/IMG_" + X +」の – newbie123

+0

それはあなたが私の答えを見て 'to_string'を使用する必要があります@Fureeishエラーが発生します。 –

答えて

3

この解決するために非常に簡単な方法:。

inputImages[x] = readPPM(string("Images/ImageStacker_set1/IMG_" + to_string(x) + ".ppm").c_str()); 
代わり `` << inputImages同様
+0

私はこのようにしますinputImages [x] = readPPM( "Images/ImageStacker_set1/IMG_" + std :: to_string(x)+ ".ppm");私はエラーが表示されます: "std :: basic_string 、std :: allocator >"から "const char *"への変換関数はありません。 – newbie123

+0

@ newbie123はあなたの問題を解決するために私の答えを更新しました。 –

+0

新しいエラー:式には整数型または範囲外の列挙型が必要ですか? – newbie123

関連する問題