mit sscanf eine URL parsen
-
Hallo Leute!
Ich habe heute versuch eine URL nach dem Schema http://www.irgendwas.de:80/index.html zu parsen. Ich habe folgenden Ansatz verfolgt:. . . char* strUrl; BOOL bIsHttpRes; BOOL bIsValid; char szServer[255]; char szResource[255]; DWORD dwPort; if(sscanf(strUrl, "http://%s:%d/%s", szServer, &dwPort, szResource) == 3) { bIsValid = TRUE; bIsHttpRes = TRUE; return; }
In strUrl befindet sich die URL, die geparst werden soll. Leider wird nicht richtig geparst. Weiß jemand, woran das liegen könnte?
-
Hat sich erledigt. Die Lösung ist eine regular expression (Ich wusste garnicht, dass das mit sscanf möglich ist):
sscanf(strUrl, "http://%[^:]:%u/%s", szServer, &dwPort, szResource)