bool DownloadSJISText(CString aUrl,long maxsize,std::string& sOut) { const int BUF_LEN=1024; BYTE lpBuff[BUF_LEN]; sOut = ""; // 接続を張って、リモートのファイルにアクセスできるようにする CInternetSession cSec(NULL, 1, INTERNET_OPEN_TYPE_PRECONFIG, NULL,NULL,0 );// # Use IE Settings CStdioFile* remoteFile = cSec.OpenURL(aUrl, 1, INTERNET_FLAG_TRANSFER_BINARY|INTERNET_FLAG_RELOAD, NULL, 0); if(remoteFile == NULL) return false; //long filesize = maxsize; std::unique_ptr<BYTE[]> Buff(new BYTE[maxsize]); // ローカルファイルを開いて、ダウンロード開始 long totalsize = 0; for(;;){ int n = remoteFile->Read(lpBuff, BUF_LEN); memcpy_s(Buff.get()+totalsize,maxsize,lpBuff,n); if(n > BUF_LEN) break; if(!n) break; totalsize = totalsize + n; } char* lptbuff; lptbuff = (char*)Buff.get(); CStringA str; str = lptbuff; sOut = str; // 後処理 delete remoteFile; return true; }