2017-06-10 77 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難以維護。 –