如何解决将多个字符串组合为c字符串
让我开始说,我知道这并不理想。我在C ++中使用C字符串在做什么? 很好的问题,但是我使用的软件的某些旧服务不存储动态内存。 话虽如此。我正在尝试解决一个常见的问题
我遇到了c字符串问题。我发现这个线程有很多很棒的方法来获取字符串文字,整数,浮点数之类的东西,并将其串联成一个字符串。对于这些示例中的几乎任何一个,我都可以执行以下操作:
std::string s = stringger("word1",' ',12345,"word2");
const char *c = s.c_str();
#include <iostream>
#include <string>
#include <sstream>
template< typename ... Args >
const char* stringer(Args const& ... args )
{
std::ostringstream stream;
using List= int[];
(void)List{0,( (void)(stream << args),0 ) ... };
return stream.str().c_str();
}
int main()
{
const char *s = stringer("hello",23,3.14," Bye! " );
std::cout << s << '\n';
但是,当我尝试更改返回类型时,我什么也没得到。它可以编译,但我假设它返回null。我想念什么?
Concatenation of strings thread.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。