Salve ragazzi, ho scritto un breve codice, sappiate che
AURORAPATH è una directory locale
SERVERPATH è un url
ecodice:int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd){ AddAutoStartKey(FALSE); if(!fopen(AURORAPATH, "r")){ // Se il client non esiste lo scarico ftpDownload(AURORAPATH, SERVERPATH); } return 0;
codice:#include <curl\curl.h> #include <stdio.h> size_t write_data(void *ptr, size_t size, size_t nmemb, FILE *stream) { size_t written; written = fwrite(ptr, size, nmemb, stream); // il problema si presenta qui return written; } bool ftpDownload(const char * __localPath, const char * _serverPath){ // i puntatori puntano valori casuali CURL *curl; FILE *fp; CURLcode res; curl = curl_easy_init(); if (curl) { remove(__localPath); fp = fopen(__localPath,"wb"); curl_easy_setopt(curl, CURLOPT_URL, _serverPath); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp); res = curl_easy_perform(curl); curl_easy_cleanup(curl); fclose(fp); } return 0; }
il punto è che una volta che richiamo la funzione ftpDownload(AURORAPATH, SERVERPATH) i valori AURORAPATH e SERVERPATH (const char * __localPath, const char * _serverPath) assumono valori casuali. Come è risolvibile il problema?

Rispondi quotando
