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
std::ostringstream os;
os << "C:/x/left" << i << ".bmp";
imagelist.push_back(os.str());
于 2012-04-19T16:29:58.710 回答
2

一种解决方案是使用字符串流:

#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不是性能更快的解决方案,但易于理解且非常灵活。

另一种选择是使用itoaand sprintf,如果您对 c 样式打印感到宾至如归的话。不过,听说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 回答