Bestimmte Stellen aus String auslesen

Hallo Zusammen,

ich habe eine String Variable "URL" welche über den Befehl URL=(char*)http_buf; gefüllt wird. Der Inhalt der Variable URL sieht so aus:

GET /XXXX HTTP/1.1ÛÜHost: 192.168.0.250ÛÜUser-Agent: Mozilla/5.0 (iP

wobei die XXXX für eine Zahl von 0000 - 0196 steht. Ist es möglich diese Zahl auszulesen und in Integer umzuwandeln? Wenn ja wie?

Schon mal vielen Dank für Eure Hilfe im Voraus!!!

Würds mit was in der Richtung probieren:

int i = (URL[5]-'0')*1000 + (URL[6]-'0')*100 + (URL[7]-'0')*10 + (URL[8]-'0');

Stelle aber sicher dass er bei Müll nicht durchdreht, wenn einer mit was anderem als dem erwarteten anfragt oder so.

Ein kleiner Auszug aus dem Ethernet Webclient:

 if (client.available()) 
      {     
        char c = client.read();        
        // If it isn't a new line, add the character to the buffer
        if (c != '\n' && c != '\r')
        {
          clientline[index] = c;
          index++;
          if (index >= BUFSIZ) 
            index = BUFSIZ -1;         
          continue;
        }
        
        // got a \n or \r new line, which means the string is done
        clientline[index] = 0;

        Serial.println(clientline);
        
        // Look for substring such as a request to get the root file
        if (strstr(clientline, "GET /") != 0) 
        {
          // this time no space after the /, so a sub-file!
          char *filename;          
          filename = clientline + 5; // look after the "GET /" (5 chars)
          // a little trick, look for the " HTTP/1.1" string and 
          // turn the first character of the substring into a 0 to clear it out.
          (strstr(clientline, " HTTP"))[0] = 0;
          
          Serial.println(filename);
      }

Dort wird das "GET" einfach nach links verschoben und der String mit dem HTTP durch 0 ersetzt. So kann man das etwas eleganter machen und gleichzeitig auch andere Eingaben verarbeiten.