C忽略字节赋值?

时间:2016-07-27 11:37:00

标签: c arm embedded keil

我做错了什么。

这是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

2 个答案:

答案 0 :(得分:3)

您不得修改字符串文字(Alamofire)。您应该使用用字符串文字初始化的数组。

这样,你的代码应该是:

var defaultWarehouse = "Y01";
var key = createKey("/LagertypeSet", { 
    Lgnum: defaultWarehouse, 
    Lgtyp: keyFromMaster
});

答案 1 :(得分:2)

at_ss_data指向只读内存,你不能像这样改变字符串文字。此行为未定义。 相反,你可以尝试这样的事情:

shift /?

此数组现在可写。