2017-06-10 54 views
-2

我有两个const char [] PROGMEM变量,我需要连接到另一个const char [] PROGMEM。我对C完全陌生,无法理解如何在previous question上使用strncpy。由于目的地是恒定的并且只读将常量字符与字符串结合到另一个常量字符

const char data_one[] PROGMEM = {0x00,0x01,0x02}; 
const char data_combined[] PROGMEM = data_one + "{0x03,0x04,0x05}"; 
+0

这段代码是否编译?你也理解关键字'const'及其语义吗? –

+0

@EdHeal它编译为[更大的脚本]的一部分(https://raw.githubusercontent.com/Wi-PWN/Wi-PWN/master/arduino/Wi-PWN/data.h) – samdd

+0

请提供一些代码为了证明这个 –

回答

1

使用memcpy(或strcpy或类似的)将是不可能的。您也不能使用您在示例代码中显示的内容。

我能想到的唯一解决方案也是我不推荐的解决方案,因为它会使代码有些模糊,难以阅读和维护,而且使用预处理器宏。

+1

当宏使用正确时没有错误 –

+1

@SamVarshavchik没错,但在这种情况下,我真的没有看到任何使用宏的方法 –

+0

'#define DATA_ONE ...'和'#define DATA_TWO ...',然后在两个地方分别使用DATA_ONE和DATA_TWO,看起来不像它们。 y难以维护。 –