Ich hole den Thread mal wieder hoch.
Habe meinen Webserver auf Char Arrays umgebaut.
Meine Erfahrungen als Einsteiger dazu:
Man schon aufpassen wenn man den Pointern hantiert, sonst kommt es zu unerwarteten Ergebnissen ![]()
Und es reicht der kleinste Fehler aus um die Anwendung in die Wüste zu schicken.
Kleine Frage am Rande.
Ich will dies nach der Get Anfrage parsen( also Tag und monat lesen) :
GET /page4.htm?Tag=22&monat=4 HTTP/1.1
Host: 192.168.0.177
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gec
ko/20100101 Firefox/28.0
Accept: text/html,application/xhtml+xml,application/xml;q=0......
Das mache ich mit diesem Code:
void Parse_Get(char* request )
{
if (strstr(request,"GET /page4.htm?Tag=")!=NULL)
{
tagmode=true;
int a,b;
char* erg;
char* zeich;
zeich=strstr(request,"?Tag=");
a=(int)zeich-(int)(request)+5;
zeich=strstr(request,"&");
b=(int)zeich-(int)(request);
erg=(char*)malloc(b-a+1);
strncpy(erg,request+a,b-a);
*(erg+b-a)='\0';
anzeigetag=atoi(erg);
free(erg);
a=b+7;
zeich=strstr(request,"HTTP/1.1");
b=(int)zeich-(int)(request)-1;
erg=(char*)malloc(b-a+1);
strncpy(erg,request+a,b-a);
*(erg+b-a)='\0';
anzeigemonat=atoi(erg);
free(erg);
}
}
Der Code funktioniert, nur kommt es mir zu aufwendig vor. Evtl. gibt es eine elegantere lösung ?