Home  >  Article  >  Backend Development  >  C/C++ easily implements file downloading

C/C++ easily implements file downloading

黄舟
黄舟Original
2017-01-22 14:30:102863browse

First, let’s understand a few APIs

_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.

Easy to know: buffer is the path

maxlen: Is the length

The function is to get the path of the current program

Next 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   
);

C/C++ easily implements file downloading

C/C++ easily implements file downloading

The following is the code:

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

Screenshot of the program running:

C/C++ easily implements file downloading

The above is the content of C/C++ to easily implement file download. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn