我在arduino中有这段代码
void function(int x){
char* response="GET /postTEST.php?first=";
char strx[2] = {0};
int num = x;
sprintf(strx, "%d", num);
original=response;
strcat(response,strx);
Serial.println(response);
//memset(response,'\0',80);
}
基本上,它是将一个整数加到我的帖子字符串中。不幸的是,它以某种方式成长并成为 GET /postTEST.php?first=0 GET /postTEST.php?first=01 GET /postTEST.php?first=012 随着我增加我。
为什么?
答案 0 :(得分:3)
您无法修改字符串文字。字符串文字是常量。
您必须将其声明为具有足够空间的数组以添加数字。
你也做了一些不必要的步骤,我建议这样的事情:
void function(int x)
{
char response[64];
sprintf(response, "GET /postTEST.php?first=%d", x);
Serial.println(response);
}