WindowsアプリケーションでInternetOpenUrlAを用いて存在しないファイルを open してもNULLが返ってこず、ファイルハンドルが返ってきます
string a_DownloadURL(string URL) { HINTERNET interwebs = InternetOpenA("Mozilla/5.0", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, NULL); HINTERNET urlFile; string rtn; if (interwebs) { urlFile = InternetOpenUrlA(interwebs, URL.c_str(), NULL, NULL, NULL, NULL); if (urlFile) { char buffer[2000]; DWORD bytesRead; do { InternetReadFile(urlFile, buffer, 2000, &bytesRead); rtn.append(buffer, bytesRead); memset(buffer, 0, 2000); } while (bytesRead); InternetCloseHandle(interwebs); InternetCloseHandle(urlFile); string p = a_replaceAll(rtn, "|n", "\r\n"); return p; } } InternetCloseHandle(interwebs); string p = a_replaceAll(rtn, "|n", "\r\n"); return p; }
string URLは存在しないファイルなのですが、urlFile にファイルハンドルが格納されNULLには成らないです。不在ファイルはスキップしたいのですが、何か方法あるでしょうか。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。