dwnl.c

来自「这是一个开放源代码的与WINNT/WIN2K/WIN2003兼容的操作系统」· C语言 代码 · 共 48 行

C
48
字号
#include <stdio.h>
#include <urlmon.h>
#include <tchar.h>

/* FIXME: add correct definitions to urlmon.idl */
#ifdef UNICODE
#define URLDownloadToFile URLDownloadToFileW
#else
#define URLDownloadToFile URLDownloadToFileA
#endif

// ToDo: Show status, get file name from webserver, better error reporting

int _tmain(int argc, TCHAR **argv)
{
	TCHAR* filename = argv[1];
	int i;

	if(argc != 2)
	{
		_tprintf(_T("Usage: dwnl <url>"));
		return 2;
	}

	for(i=_tcslen(filename);i>0
		&&filename[i]!=_T('/')
		&&filename[i]!=_T('\\')
		&&filename[i]!=_T('?')
		&&filename[i]!=_T('*')
		&&filename[i]!=_T(':')
		&&filename[i]!=_T('\"')
		&&filename[i]!=_T('<')
		&&filename[i]!=_T('>')
		&&filename[i]!=_T('|');i--);
	filename = &argv[1][i+1];

	_tprintf(_T("Downloading %s... "), filename);

	if(URLDownloadToFile(NULL, argv[1], filename, 0, NULL) != S_OK)
	{
		_tprintf(_T("Failed.\n"));
		return 1;
	}

	_tprintf(_T("Finished.\n"));
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?