所以我有这个小代码我在ESP 32-S2上运行。我还使用平台IO和Arduino代码库。有一个带有头文件和cpp文件的lib。所以我想创建一个char数组,它是从多个变量和一些固定文本构建的。作为一个例子:
头文件:
class SomeClass
{
private:
const char* _someConstCharArray;
char _someCharArray[100];
public:
SomeClass();
}
Cpp文件:
SomeClass::SomeClass() : _someConstCharArray("test")
{
sprintf(_someCharArray,"thisisaurl/%s/set",_someConstCharArray);
}
这是合理的,然而_someCharArray有一个固定的大小,而我只知道构造函数中的大小。如果可能的话,我很乐意在那里分配大小。我还尝试了一堆其他的东西,但在板上编译失败。我读到过,由于内存碎片等原因,我应该避免字符串,但是如果有人能说服我这是最好的解决方案,我很乐意使用它们。你能帮我找到一个好的和正确的方法来创建一个字符数组,或者字符串吗?它是从构造函数中的多个其他变量和/或静态文本构建的,而不必编写十几个strcpy/strcat语句?
1条答案
按热度按时间63lcw9qa1#
我对字符串的怀疑是由关于它的混合帖子引起的。阅读答案并没有消除我的怀疑。我决定这样做。
头文件:
Cpp文件:
如果你看到任何问题,让我知道。不是最优雅的建设,但它似乎工作得很好,现在。