我做错了什么。
这是ARM代码(Keil5 IDE)的代码片段:
uint8_t * at_ss_data = (uint8_t *)("\n\rAT$SS=AA AA\n\r");
at_ss_data[12] = 0;
但是当代码被推送到ARM嵌入式主板时,第12个索引(最后一个A
)在变量中没有变化。
我的目标是将AA AA
数组中的at_ss_data
子字符串更改为00 00
答案 0 :(得分:3)
您不得修改字符串文字(Alamofire)。您应该使用用字符串文字初始化的数组。
这样,你的代码应该是:
var defaultWarehouse = "Y01";
var key = createKey("/LagertypeSet", {
Lgnum: defaultWarehouse,
Lgtyp: keyFromMaster
});
答案 1 :(得分:2)
at_ss_data指向只读内存,你不能像这样改变字符串文字。此行为未定义。 相反,你可以尝试这样的事情:
shift /?
此数组现在可写。