InternetSetFilePointerの例(C言語)

説明:

InternetSetFilePointerを利用して、http://www.geocities.co.jp/SiliconValley-PaloAlto/5920/other.htmlのソースを、最初の3000バイトを読み飛ばし、3000バイト目以降のソースを表示する。

キーワード:

InternetOpen, InternetOpenUrl, InternetSetFilePointer, InternetReadFile, InternetCloseHandle

サンプルコード:

void GetHtmlTail()
{
	HINTERNET hInternet;
	HINTERNET hFile;
	char Buf[1000];
	DWORD ReadSize;
	BOOL bResult;
	DWORD Pos;

	/* WININET初期化 */
	hInternet = InternetOpen(
		"WININET Sample Program",
		INTERNET_OPEN_TYPE_PRECONFIG,
		NULL,
		NULL,
		0);

	/* URLをオープン */
	hFile = InternetOpenUrl(
		hInternet,
		"http://www.geocities.co.jp/SiliconValley-PaloAlto/5920/other.html",
		NULL,
		0,
		INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_RELOAD,
		0);

	/* ファイルポインタの設定 */
	Pos = InternetSetFilePointer(
		hFile,
		3000,
		NULL,
		FILE_BEGIN,
		0);

	if(Pos == -1) printf("err(%d).\n", GetLastError());

	/* ファイルの読み込み */
	for(;;) {
		ReadSize = 1000;

		bResult = InternetReadFile(
			hFile,
			Buf,
			1000,
			&ReadSize);

		if(bResult && (ReadSize == 0)) break;

		Buf[ReadSize] = '\0';
		printf("%s", Buf);
	}

	/* 後処理 */
	InternetCloseHandle(hFile);
	InternetCloseHandle(hInternet);
}
(original text:1999/04/21 更新)

本ドキュメントの内容は保証しません。本ドキュメントによって生じた結果について、一切の責任を負いません。