【发布时间】:2017-08-23 07:47:11
【问题描述】:
我是 C++ 的新手。我知道这是一个非常常见的问题,但我想要一个完整的代码来连接任意数量的字符串,这些字符串传递给 c++ 中的函数。我将函数调用为:
string var1,var2;
var1=concat_string("one","two");
cout<<var1<<endl;
var2=concat_string("one","two","three");
cout<<var2<<endl;
我需要的输出是:
onetwo
onetwothree
我已经阅读了可变参数函数,但我尝试了以下代码来连接字符串,而不用担心结果大小和字符串参数的数量。我的代码是:
#include <cstdarg>
template<typename... T>
string concat_string(T const&... t){
std::stringstream s;
s<<t;
return s;
}
但是我在这段代码中有很多错误。如何更正我的代码。谢谢..
【问题讨论】:
-
你可以简单地做
std::string("one")+"two"+"three";我不认为这是一个常见的问题,因为你不需要这样的功能......这是一个练习吗? -
@tobi303 感谢您提供简单而好的解决方案。它工作正常。但实际上我只是想学习字符串连接的可变参数函数过程,以便我可以将这个过程应用到其他一些应用程序中。
标签: c++ string-concatenation variadic