C ++には、intまたは短いコードを連結する関数があり、これを行うことができます。これまでに見つけたものはすべて、不必要に複雑に思えます。文字列を使用すると、2つの文字列を一緒に追加するだけなので、整数の同等物.
質問する
182 次
3 に答える
2
std::to_stringを使用する
#include <string>
std::string s("helloworld:") + std::to_string(3);
出力: helloworld:3
または、 stringstream を使用して、必要なものをアーカイブすることもできます
#include <sstream>
std::string s("helloworld:");
std::stringstream ss;
ss << 3;
s += ss.str();
出力: helloworld: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 に答える