是否有一种简单的方法可以将整数附加到字符串中?
我有一个像这样的for循环:
for(int i=0;i<text.length();i++){
for(int g=0;g<word.length();g++){
if(text[i]==word[g]){
kodas.append(g);
}
}
}
我需要得到相等的数组索引,当然索引是整数类型。但是当我这样做时,我收到一个错误:
invalid conversion from ‘int’ to ‘const char*’ [-fpermissive]|
有办法解决这个问题吗?
答案 0 :(得分:6)
如果您正在使用std :: strings:#include <sstream>
#include <sstream>
using namespace std;
string oldString = "old";
int toAppend = 5;
stringstream ss(toAppend);
string newString = oldString + ss.str();
newString
将为"old5"
答案 1 :(得分:1)
是强>
您可以,例如:
itoa
函数kodas
成为ostringstream
并“写入”cout
:kodas << g
答案 2 :(得分:1)
最简单的就是这样:
if (kodas.empty()) { kodas += ' '; }
kodas += std::to_string(g);
如果您没有C ++ 11,请改用boost::lexical_cast<std::string>(g)
。
失败了,你可以做一些可怕的事情:
kodas += static_cast<std::ostringstream&>(std::ostringstream() << g).str();
答案 3 :(得分:0)
itoa(),它进入alpha函数,应该帮助你。如果你想
,sprintf或vsprintf也可以答案 4 :(得分:0)
有几种方法可以将数字格式化为C ++中的字符串,包括sprintf()
,boost:lexical_cast()
等。请参阅The String Formatters of Manor Farm以获得良好的比较和其他建议。此外,C ++ 11还有std::to_string
。您的编译器可能已经或可能没有。