2016-03-30 30 views
0

Ich weiß nicht wirklich was EOF ist.C++ EOF? Was mache ich falsch?

Ich bin ein Anfänger. Mein Lehrer hat mich nur gebeten, es nicht als Extra-Kredit zu verwenden.

Ich benutze urlmon. Hier ist ein Beispiel für meinen Code. Ich habe recherchiert und konnte nichts Nützliches finden.

Wenn jemand darauf hinweisen könnte, wo ich EOF verwende, wäre das erstaunlich. Wenn Sie mir eine Alternative nennen könnten, wäre das noch besser.

#include <windows.h> 
#include <commctrl.h> 
#include <string> 
#include <urlmon.h> 

typedef HRESULT (WINAPI* lpURLDownloadToFile) (LPUNKNOWN pCaller, 
    LPCTSTR szURL, 
    LPCTSTR szFileName, 
    DWORD dwReserved, 
    LPBINDSTATUSCALLBACK lpfnCB); 

size_t write_data(void *ptr, size_t size, size_t nmemb, FILE *stream) { 
    size_t written; 
    written = fwrite(ptr, size, nmemb, stream); 
    return written; 
} 

void download() 
{ 
    lpURLDownloadToFile URLDownloadToFile; 

    HMODULE hUrlmon = LoadLibrary("URLMON.DLL"); 

    URLDownloadToFile = (lpURLDownloadToFile)GetProcAddress(hUrlmon, "URLDownloadToFileA"); 

    URLDownloadToFile(0, "http://website.com/hi.mov", "hi.mov", 0, 0); 

    return; 
} 
+0

EOF bedeutet 'Dateiende': http://mathbits.com/MathBits/CompSci/Files/End.htm – Tacocat

+0

** EOF ** bedeutet * Ende der Datei *. Ihr Code ist nicht direkt mit EOF betroffen, da Sie den kompletten Dateiinhalt in einem Stück herunterladen. Der Code, den Sie dazu aufrufen, lädt jedoch kleinere Teile herunter und behandelt wahrscheinlich EOF, um festzustellen, wann er fertig ist. Alternativ kann es die gesamte Downloadgröße verfolgen. In diesem Fall muss sogar Code auf niedrigerer Ebene mit EOF umgehen, um sicherzustellen, dass die Dinge nicht für einen zu kurzen Download hängen. –

+1

Sie verwenden es nicht. Tatsächlich tust du nichts, da du keine "Hauptfunktion" hast. Es ist überhaupt nicht klar, was Sie fragen. –

Antwort

0

Wenn Sie aus einer Datei lesen wollen, muss das Programm stoppen, wenn es das Ende der Datei erreicht. Getc() gibt einen speziellen Wert zurück, der als EOF bekannt ist, wenn er versucht, ein Zeichen zu lesen, aber das Ende der Datei erreicht wurde.