c++ Datei downloaden

Ich verwende nicht den GCC, aber gibt es einen Grund, warum der #pragma comment nicht implementieren will? Ob man es verwenden will ist ja dann immernoch jedem selbst überlassen. Ich finde die Funktionalitäten da wahnsinnig praktisch!
 
Ich verwende nicht den GCC, aber gibt es einen Grund, warum der #pragma comment nicht implementieren will? Ob man es verwenden will ist ja dann immernoch jedem selbst überlassen. Ich finde die Funktionalitäten da wahnsinnig praktisch!
Evtl. ist es technisch nicht möglich, da der GCC ein anderes Objekt-Datei-Format verwendet und man diese Informationen nicht in die Dateien einbinden kann. Dafür das Format, den Compiler und Linker zu ändern ist vermutlich zuviel Aufwand (zumal der Linker zu den GNU binutils gehört und nicht zum GCC).

Ich habe die Funktionalität des #pragma comment jedenfalls noch nicht vermisst.

Gruß
 
Hallo, ich habe auch Dev-C++ und hier die Funktion:
Code:
#include <shlobj.h>
#include <stdbool.h>
#include <string.h>
#include <time.h>
#include <w32api.h>
#include <stdio.h>
#include <stdlib.h>
#include <wininet.h>
int DownloadFile(char url[],char file[])
{
 		  HINTERNET hInternet; 
HINTERNET hFile; 
HGLOBAL   hGlobal; 
FILE*     fFile; 
CHAR*     szBuf; 
BOOL      bGO = TRUE; 
DWORD     dwReadSize = 256; 
CHAR      lpszFileSize[15]; 
INT       iFileSize; 
INT       iStep; 
INT       iDownloadedBytes = 0; 
DWORD     dwDummy; 
TCHAR     szErrBuf[256]; 

LPCTSTR httpFile;
LPCTSTR targetFile; 
LPVOID lpInfo;
 		  hInternet = InternetOpen("Downloader", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); 
                                  if(!hInternet) 
                                  { 
                                                 return -1; 
                                  } 
                                  hFile = InternetOpenUrl(hInternet, url, NULL, 0, INTERNET_FLAG_RELOAD, 0); 
                                  if(!hFile) 
                                  { 
                                             InternetGetLastResponseInfo(&dwDummy, szErrBuf, &dwReadSize); 
                                             InternetCloseHandle(hInternet); 
                                             return -1; 
                                  }

                                  dwDummy = 15; 
                                  HttpQueryInfo(hFile, HTTP_QUERY_CONTENT_LENGTH, (LPVOID)lpszFileSize, &dwDummy, NULL); 
                                  iFileSize = atoi(lpszFileSize); 
                                  if(iFileSize == 0) 
                                  { 
                                               InternetCloseHandle(hFile); 
                                               InternetCloseHandle(hInternet); 
                                               return -1; 
                                  } 
                                  iStep = (iFileSize / 100 == 0) ? 1 : iFileSize / 100; 

                                  hGlobal = GlobalAlloc(GMEM_FIXED, iStep + 1); 
                                  szBuf = (CHAR*)GlobalLock(hGlobal); 

                                  fFile = fopen(file, "w+b"); 
                                  while(bGO) 
                                  { 
                                             bGO = InternetReadFile(hFile, szBuf, iStep, &dwReadSize); 
                                             if(bGO && dwReadSize == 0) 
                                                    break; 
                                                    szBuf[dwReadSize] = '\0'; 
                                                    fwrite(szBuf, 1, dwReadSize, fFile); 
                                                    iDownloadedBytes = iDownloadedBytes + iStep;
                                  } 
                                  fclose(fFile);
                                  GlobalUnlock(hGlobal); 
                                  GlobalFree(hGlobal); 
                                  InternetCloseHandle(hFile); 
                                  InternetCloseHandle(hInternet);

}
Viel spass beim runterladen!
PS: noch libwinmm.a einbinden!
lorenz
 
Zurück