我希望输出类似这样的东西..
Word_1
Word_2
Word_3
.
.
.
Word_1234
etc...
我已经看到sprintf
和itoa
等格式化字符串,将int转换为字符串。在sprintf
的情况下,我必须声明大小。
使用"Word_"+itoa(iterator_variable)
,我想我可以得到所需的东西。但有没有更好的方法来获得所需的输出?
答案 0 :(得分:1)
如果您有权访问C ++ 11,则可以使用std::to_string()
std::string s = "Word_";
std::string t = s + std::to_string( 1234 );
std::cout << t << std::endl;
答案 1 :(得分:0)
使用c ++我喜欢使用boost :: format和boost :: lexical_cast来解决这些问题。
答案 2 :(得分:0)
我建议使用stringstreams,因为它们允许将任何字符串,流和算术类型(以及其他内容)连接成字符表示。
#include <sstream>
#include <iostream>
int main()
{
int n1 = 3;
int n2 = 99;
std::stringstream ss;
// all entries in the same stringstream
ss << "Word_" << n1 << std::endl;
ss << "Word_" << n2 << std::endl;
std::cout << ss.str();
// clear
ss.str("");
// entries in individual streams
std::string s1, s2;
ss << "Word_" << n1;
s1 = ss.str();
ss.str("");
ss << "Word_" << n2;
s2 = ss.str();
std::cout << s1 << std::endl << s2 << std::endl;
return 0;
}