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)
    

Anmelden zum Antworten