0

在 c++ 中是否有任何函数可以连接一个 int 或我可以编写的一小段代码来做到这一点。到目前为止,我发现的一切似乎都过于复杂。我只是想知道,因为使用字符串你只需将两个字符串加在一起,所以任何整数等价。

4

3 回答 3

2

使用std::to_string

#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 回答