InternetReadFile

trolly

Mitglied
Ich möchte mit InternetReadFile Dateien direkt vom FTP lesen, also den Text dann mit sscanf auslesen. Text1 = hallo Text2 = test123. Aber komme mit der Funktion noch nicht so zurecht, habe ja wie bereits erwähnt, erst seit kurzem mit C++ angefangen. Hoffe ihr könnt mir ein BeispielCode liefern.

Danke. :)
 
Wie ich das hasse, in den meisten Boards wird man sofort auf ein anderes verwiesen. Dazu ist doch keine Community da, oder? Anstatt einfach mal die Lösung zu posten.. Dadurch lernt man auch seine Fehler kennen und hat für das nächste mal etwas dazugelernt. :rolleyes:
 
Lad einfach mal deinen Code nochmal hoch ...

probiers mal so:
C++:
#pragma comment (lib, "Wininet.lib")

#include <windows.h>
#include <Wininet.h>
#include <string>
#include <iostream>

const bool read_file(std::string const&, std::string&);

int main()
{
    std::string content;
    if (!read_file("http://www.devilentertainment.de/index.php", content)) return 1;

    const std::string::size_type pos_text1(content.find("Text1="));
    if (pos_text1 != std::string::npos) std::clog << content.substr(pos_text1);
}

const bool read_file(std::string const& url, std::string& destination)
{
    ::HINTERNET hInternet(::InternetOpenA("Line Interpreter", LOCAL_INTERNET_ACCESS, NULL, 0, 0);
    if (hInternet == NULL) { std::cerr << "FEHLER: Es konnte keine Internetverbindung aufgebaut werden!"; return false; }

    ::HINTERNET hUrl(::InternetOpenUrlA(hInternet, url.c_str(), NULL, NULL, NULL, NULL));
    if (hUrl == NULL) { std::cerr << "FEHLER: Ungültige Internetadresse (URL)!"; return false; }

    char buffer[1024];
    DWORD read_bytes(0UL);
    destination.clear();

    while (::InternetReadFile(hUrl, buffer, 1024, &read_bytes) == TRUE && read_bytes != 0) destination += buffer;

    ::InternetCloseHandle(hUrl);
    ::InternetCloseHandle(hInternet);

    return true;
}
;)
 
Danke. :)

http://www.nopaste.com/p/a20tiEwjD

Hier nochmal mein Code, werde gleich mal deinen ausprobieren.

//

Wenn ich bei deinem Code das Ganze dann wieder per sscanf scanne, bekomme ich wieder nur den 1.Text zu Gesicht und mit deiner Funktion in Main in komme ich nicht zurecht. Kannst dir ja nochmal meinen gepasteten Code anschauen. Danke.
 
Zuletzt bearbeitet:
Zurück