在 c++ 中是否有任何函数可以连接一个 int 或我可以编写的一小段代码来做到这一点。到目前为止,我发现的一切似乎都过于复杂。我只是想知道,因为使用字符串你只需将两个字符串加在一起,所以任何整数等价。
问问题
182 次
3 回答
2
#include <string>
std::string s("helloworld:") + std::to_string(3);
输出:你好世界:3
或者你可以使用 stringstream 来归档你想要的
#include <sstream>
std::string s("helloworld:");
std::stringstream ss;
ss << 3;
s += ss.str();
输出:你好世界:3
于 2013-07-28T10:48:13.107 回答
1
我不知道你想达到什么目的
是这样的吗?
#define WEIRDCONCAT(a,b) a##b
int main()
{
cout<<WEIRDCONCAT(1,6);
}
或者可能是这样的:
int no_of_digits(int number){
int digits = 0;
while (number != 0) { number /= 10; digits++; }
return digits;
}
int concat_ints (int n, ...)
{
int i;
int val,result=0;
va_list vl;
va_start(vl,n);
for (i=0;i<n;i++)
{
val=va_arg(vl,int);
result=(result*pow(10,no_of_digits(val)))+val;
}
va_end(vl);
return result;
}
int val=concat_ints (3, //No of intergers
62,712,821); //Example Outputs: 62712821
于 2013-07-28T10:39:47.553 回答
0
我能想到的最快的方法是:
#include <string>
string constr = to_string(integer1) + to_string(integer2);
int concatenated = stoi(constr);
于 2013-07-28T10:46:40.407 回答