C/C++轻松实现文件下载
2017-01-18 22:17
447 查看
首先,我们先来了解几个API
_getcwd
Gets the current working directory.
char *_getcwd(
char *buffer,
int maxlen
);
buffer
Storage location for the path.
maxlen
Maximum length of the path in characters: char for _getcwd and wchar_t for _wgetcwd.
易知:buffer是路径
maxlen:是长度
功能是得到当前程序的路径
下一个API
Downloads bits from the Internet and saves them to a file.
char *_getcwd(
char *buffer,
int maxlen
);
wchar_t *_wgetcwd(
wchar_t *buffer,
int maxlen
);
下面是代码:
#include <Windows.h>
#include <stdio.h>
#include <direct.h>
#pragma comment(lib,"URlmon")
int main()
{
char buffer[MAX_PATH];
_getcwd(buffer, MAX_PATH);
strcat_s(buffer, "//1.jpg");
HRESULT Result = URLDownloadToFileA(NULL, "http://112.22.245.11:443/down/de0243d60205717a2a74aea53c0c500c-46353/1.jpg?cts=yd-f-U13274580&ctp=111A23A228A125&ctt=1484747960&limit=1&spd=1300000&ctk=4ab73a4a76e47ad0b181d0f9fc47b6a1&chk=de0243d60205717a2a74aea53c0c500c-46353", buffer, 0, NULL);
switch (Result)
{
case S_OK:printf("The download started successfully.\n");break;
case E_OUTOFMEMORY: printf("The buffer length is invalid, or there is insufficient memory to complete the operation.\n"); break;
}
return 0;
}程序运行截图:
_getcwd
Gets the current working directory.
char *_getcwd(
char *buffer,
int maxlen
);
buffer
Storage location for the path.
maxlen
Maximum length of the path in characters: char for _getcwd and wchar_t for _wgetcwd.
易知:buffer是路径
maxlen:是长度
功能是得到当前程序的路径
下一个API
URLDownloadToFile function
Downloads bits from the Internet and saves them to a file.char *_getcwd(
char *buffer,
int maxlen
);
wchar_t *_wgetcwd(
wchar_t *buffer,
int maxlen
);
下面是代码:
#include <Windows.h>
#include <stdio.h>
#include <direct.h>
#pragma comment(lib,"URlmon")
int main()
{
char buffer[MAX_PATH];
_getcwd(buffer, MAX_PATH);
strcat_s(buffer, "//1.jpg");
HRESULT Result = URLDownloadToFileA(NULL, "http://112.22.245.11:443/down/de0243d60205717a2a74aea53c0c500c-46353/1.jpg?cts=yd-f-U13274580&ctp=111A23A228A125&ctt=1484747960&limit=1&spd=1300000&ctk=4ab73a4a76e47ad0b181d0f9fc47b6a1&chk=de0243d60205717a2a74aea53c0c500c-46353", buffer, 0, NULL);
switch (Result)
{
case S_OK:printf("The download started successfully.\n");break;
case E_OUTOFMEMORY: printf("The buffer length is invalid, or there is insufficient memory to complete the operation.\n"); break;
}
return 0;
}程序运行截图:
相关文章推荐
- 在IIS 7中可以轻松实现文件下载次数统计(转)
- 用 WebClient 轻松实现文件下载上传、网页抓取
- c++ 使用socket实现C/S端文件的下载传输
- 实现文件下载c++/cli
- c++ 使用socket实现C/S端文件的下载传输
- c++ 使用WinHTTP实现文件下载功能
- c++实现下载文件
- c++ 使用socket实现C/S端文件的下载传输
- 在IIS 7中可以轻松实现文件下载次数统计
- WebClient 轻松实现文件下载上传、网页抓取
- 几行代码轻松实现PHP文件打包下载zip
- smartupload组件轻松实现多文件上传,单文件下载,多文件下载。
- c++ 使用socket实现C/S端文件的下载传输
- c++ 使用socket实现C/S端文件的下载传输
- c++实现下载文件(转)
- c++ 使用WinHTTP实现文件下载功能
- C++实现上传下载文件,支持windows及iOS、Android
- 使用C++实现功能下载文件
- 静态链表StaticLinkList的C++实现代码与可用头文件下载
- python: gevent轻松实现并行下载多个文件