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