String (objekt) vs. char array

rudirabbit:
Der Code funktioniert, nur kommt es mir zu aufwendig vor. Evtl. gibt es eine elegantere lösung ?

void Parse_int(char* request, char* searchstr, int &value)
{
  char* str=strstr(request,searchstr);
  if (str==NULL) value=-1; // Fehlerwert
  else value=atoi(str+strlen(searchstr));
}

void setup() {
  Serial.begin(9600);
  int monat,tag;
  char request[]="GET /page4.htm?Tag=22&monat=4 HTTP/1.1";
  Parse_int(request, "monat=", monat);
  Serial.print("Monat: ");Serial.println(monat);
  Parse_int(request, "Tag=", tag);
  Serial.print("Tag: ");Serial.println(tag);
}

void loop() {}