InternetReadFile: kryptische Ausgabe



  • Hi, ich möchte via InternetReadFile den Inhalt einer Webseite auslesen.
    Dabei erhalte ich am Ende des String jede Menge kryptischer Zeichen.
    Ich vermute mal es liegt an MAX_PATH und einer falschen Verarbeitung der
    Variablentypen meinerseits.

    HINTERNET url;
    	HINTERNET open;
    
    	CString from ="http://checkip.dyndns.org";
    
    	open = 	InternetOpen("Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)", INTERNET_OPEN_TYPE_PROXY, "http=http://127.0.0.1:80", NULL, 0);
    
    	url = InternetOpenUrl(open,
    		from,
    		NULL,
    		0,
    		0,
    		0);
    
    	unsigned long buffer;
    	char name[MAX_PATH];
    
    	CString hp;
    	while(InternetReadFile(url, name, sizeof(name), &buffer) && buffer != 0)
    	{
    
    	}
    	hp=name;
    	MessageBox(hp);
    


  • ich würde mal behaupten das du deinen String selbst terminieren mußt. Also so in der Art

    CString hp;
        while(InternetReadFile(url, name, sizeof(name), &buffer) && buffer != 0)
        {
    
        }
        name[buffer]= NULL;
        hp=name;
        MessageBox(hp);
    


  • Hi,
    aber dann müsste ja der String durch das NULL leer sein?



  • Ich hab mich verzettelt. So isses doch richtig:

    while(InternetReadFile(url, name, sizeof(name), &buffer) && buffer != 0)
    	{
    name[buffer]= 0; 
    h+=name; 
    	}
    
    MessageBox(h);
    

Anmelden zum Antworten