c - Arduino - 如何将 char* 复制到 char**?

标签 c char arduino

我正在使用 Arduino,并且我有这样的代码:

char *swap[100];
prog_char settings1[] PROGMEM = "option 1";
prog_char settings2[] PROGMEM = "option 2";
prog_char settings3[] PROGMEM = "option 3";

PROGMEM char* general[] = {sttings1, settings2, settings3};

在函数中,我传递general[]数组:

void fillArray(char *arr[]){
    for(int i=0; i<2; i++){
        strcpy_P(swap,(char*)pgm_read_word(&(arr[i])));  <== Error
    }
}

我需要从 arr[] 中提取字符并将它们存储在 swap[] 数组中。

最佳答案

我认为您不需要&符号arr是一个char *数组

strcpy_P(swap,(char*)pgm_read_word(arr[i]));

也许

strcpy_P(swap,pgm_read_word(arr[i]));

关于c - Arduino - 如何将 char* 复制到 char**?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13260801/

相关文章:

c++ - 系统调用中的宏

arduino - 如何在Arduino上传输字符串?

c - 多定时器Arduino

c - 包含文件的图表

C 程序-如何将 2 个字符串相互集成?

c++ - 为什么 sscanf 无法从一个字符串中读取 uint64_t 和 char?

c++ - 无法在参数传递中将 'const char*' 转换为 'WCHAR*'

c - 从c中的字符串中获取整数

ruby - Arduino POST ERROR 错误请求行 `'

c - PE文件的内存映射IAT中u1.AddressOfData开头的2个字节是什么?