我有一个关于 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");
}
谢谢
我有一个关于 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");
}
谢谢
std::ostringstream os;
os << "C:/x/left" << i << ".bmp";
imagelist.push_back(os.str());
一种解决方案是使用字符串流:
#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
and sprintf
,如果您对 c 样式打印感到宾至如归的话。不过,听说itoa
不是很便携的功能。
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");
}