操作字符串时发生崩溃和奇怪的行为

Crashes and strange behaviour when manipulating strings

我的芯片什么都不做。有时它会打印出好的结果,有时它不会,我只是不明白这段代码有什么问题(而且通常任何时候你使用字符串都会发生)

void ParseGetRequest(char* data)
{

             String parseGET=data;
             String from="GET /";
             String to="HTTP";
             int ind1 = parseGET.indexOf(from);
             int ind2 = parseGET.indexOf(to);
             parseGET=parseGET.substring(ind1+from.length(), ind2-1);
             strcpy(data, parseGET.c_str () );

}

并用 :

调用它
void readWifDataAsSever(char* reqData)
{

     uint8_t buffer[128] = {0};
    uint8_t mux_id;
    uint32_t len = wifi.recv(&mux_id, buffer, sizeof(buffer), 100);
     char serverData[100]={0};


    if (len > 0) 
    {

        for(uint32_t i = 0; i < len; i++) 
           serverData[i]=(char)buffer[i];



        ParseGetRequest( serverData );    ///****** the call

        Serial.println(serverData);  // prints only part of the values
//here the chip just freeze and stop the main loop

NULL 终止 !!!!

serverData[len ] = '[=10=]';