C++EOF?我做错了什么

C++ EOF? What am I doing wrong?

本文关键字:错了 什么 C++EOF      更新时间:2023-10-16

不知道EOF是什么。

我是个初学者。我的老师只是要求我不要用它来获得额外的学分。

我正在使用urlmon。下面是我的代码示例。我研究过了,找不到任何有用的东西。

如果有人能指出我在哪里使用EOF,那将是惊人的。如果你能告诉我一个替代方案,那会更好。

#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;
}

当您想从文件中读取时,程序需要在到达文件末尾时停止。当Getc()试图读取一个字符但已到达文件末尾时,它会返回一个称为EOF的特殊值。