【发布时间】:2018-12-29 11:59:20
【问题描述】:
我想从 C++ 中的函数返回一个字符串,该函数由不同的字符串和一个整数创建。我想以"ABCDFFFF00230000EFGH" 的形式创建一个字符串。 “ABCD”在command[0]中定义为字符串,"0023"为answer定义的整数,"EFGH"在command[4]中定义为字符串。
我试过了:
return "{0}FFFF{1}0000{2}".format(command[0], answer, command[4]);
但这会报错:
成员引用基类型“const char [18]”不是结构或联合
我试过了:
return (command[0], "FFFF", answer, "0000", command[4]);
但这只会返回command[4] 的值。
我试过了:
return (command[0] + "FFFF", answer + "0000" + command[4]);
我也用 Python 写过这段代码:
return "{0}FFFF{1}0000{2}".format(command[0], answer, command[4])
哪个给出了正确的答案。
【问题讨论】:
-
1) 您是否尝试过使用
std::sprintf? C++ 是与 python 不同的语言。为什么你期望它以同样的方式表现? 2) 此外,考虑从good C++ book 学习而不是随机编码。