Re: errore applicazione win32
Von: Quasimodo (lavoro.toglimi@ajquaglia.toglimi.it) [Profil]
Datum: 16.10.2009 13:51
Message-ID: <hb9mob$9ln$1@newsreader1.mclink.it>
Newsgroup: it.comp.programmare.win32
Datum: 16.10.2009 13:51
Message-ID: <hb9mob$9ln$1@newsreader1.mclink.it>
Newsgroup: it.comp.programmare.win32
Minnozzi Corrado ha scritto: > Ciao ho un'applicazione win32 (sto seguendo il libro "Programming > Windows" di Petzold); > quando compilo mi da questo errore "error C2440: '=': impossibile > convertire da 'void *' a 'TCHAR *'" > in questa riga: > "pVarNome = calloc(iLunghezza + 1, sizeof(TCHAR));" > Uso Visual C++ 2008 Express edition, questa è la funzione in cui è > inserita quella riga: > > void RiempiListBox(HWND hwndList) > { > int iLunghezza; > TCHAR *pVarBlocco, *pVarInizio, *pVarFine, *pVarNome; > > //ottiene un puntatore a un blocco di memoria che contiene tutti i > nomi e i valori delle variabili di ambiente > pVarBlocco = GetEnvironmentStrings(); > > while (*pVarBlocco) > { > if (*pVarBlocco != '=') //salta i nomi di variabili che iniziano con > '=' > { > pVarInizio = pVarBlocco; //inizio dei nomi di variabili > while (*pVarBlocco++ != '='); //scansiona fino a '=' > pVarFine = pVarBlocco - 1; //punta al segno '=' > iLunghezza = pVarFine - pVarInizio; //lunghezza del nome di variabile > > pVarNome = calloc(iLunghezza + 1, sizeof(TCHAR)); //alloca memoria > per il nome di variabile e che termina con zero; > CopyMemory(pVarNome, pVarInizio, iLunghezza * sizeof(TCHAR)); > //copia il nome di variabile e aggiunge uno zeroAA > pVarNome[iLunghezza] = '\0'; > > SendMessage(hwndList, LB_ADDSTRING, 0, (LPARAM)pVarNome); //mette > il nome di variabile nella list box (aggiunge ogni stringa nella list box) > free(pVarNome); //libera la memoria > } > while (*pVarBlocco++ != '\0'); //scansiona fino allo zero terminante > } > FreeEnvironmentStrings(pVarBlocco); > } > Se non ricordo male, è meglio scrivere: pVarNome = (TCHAR *)calloc(iLunghezza + 1, sizeof(TCHAR));[ Auf dieses Posting antworten ]
Antworten
- Minnozzi Corrado (16.10.2009 20:29)
