0

重複の可能性:
C++ で int を文字列に変換する最も簡単な方法

Visual C++ 文字列について質問があります。次の文字列を連結したい。

for (int i=0; i<23; i++)
{
    imagelist.push_back("C:/x/left"+i+".bmp");
    imagelist.push_back("C:/x/right"+i+".bmp");
}

どうも

4

3 に答える 3

2

1つの解決策は、文字列ストリームを使用することです。

#include<sstream>

for (int i=0; i<23; i++)
{
    stringstream left, right;
    left << "C:/x/left" << i << ".bmp";
    right << "C:/x/left" << i << ".bmp";
    imagelist.push_back(left.str());
    imagelist.push_back(right.str());
}

stringstreamパフォーマンスソリューションは高速ではありませんが、理解しやすく、非常に柔軟性があります。

もう1つのオプションは、cスタイルの印刷に慣れている場合はitoa、andを使用することです。しかし、それはあまりポータブルな機能ではないsprintfと聞いています。itoa

于 2012-04-19T16:32:11.777 に答える
2
for (int i=0; i<23; i++)
{
    imagelist.push_back("C:/x/left"+std::to_string(i)+".bmp");
    imagelist.push_back("C:/x/right"+std::to_string(i)+".bmp");
}
于 2012-04-19T16:34:13.820 に答える
2
std::ostringstream os;
os << "C:/x/left" << i << ".bmp";
imagelist.push_back(os.str());
于 2012-04-19T16:29:58.710 に答える