我对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");
}
THX
答案 0 :(得分:2)
std::ostringstream os;
os << "C:/x/left" << i << ".bmp";
imagelist.push_back(os.str());
答案 1 :(得分:2)
一种解决方案是使用stringstreams:
#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
不是速度更快的性能解决方案,但易于理解且非常灵活。
另一个选择是使用itoa
和sprintf
,如果您有c风格打印的感觉。但是,我听说itoa
不是很便携的功能。
答案 2 :(得分: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");
}