简单的 C++ - 关于字符串和连接以及将 int 转换为字符串 [重复]

Posted

技术标签:

【中文标题】简单的 C++ - 关于字符串和连接以及将 int 转换为字符串 [重复]【英文标题】:Simple C++ - about strings and concatenation and converting int to string [duplicate] 【发布时间】:2012-05-01 05:31:05 【问题描述】:

可能重复:Easiest way to convert int to string in C++

我有一个关于 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");

谢谢

【问题讨论】:

【参考方案1】:
std::ostringstream os;
os << "C:/x/left" << i << ".bmp";
imagelist.push_back(os.str());

【讨论】:

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

另一个选择是使用itoasprintf,如果您对c 风格的打印感到宾至如归。不过听说itoa不是很便携的功能。

【讨论】:

【参考方案3】:
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");

【讨论】:

以上是关于简单的 C++ - 关于字符串和连接以及将 int 转换为字符串 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

C++ 可能同时读取 int 和字符串

如何使用 c++ 将字符串散列为 int?

在 C++ 中将十六进制字符转换为 int

在c ++中连接字符串和int [重复]

C++ 将两个 int 数组连接成一个更大的数组

c++,stl。将具有 rgb 颜色的字符串转换为 3 个 int 值?