View Full Version : [c] convertire int in stringa
ho provato con itoa, ma mi da problemi: é un programmino con la libreria win32:
char *sal, testo3[100];
int saldint;
saldint = *sal;
itoa(saldint, testo3, 90);
if((hWndButton = CreateWindow ("static", testo3, WS_CHILD | WS_VISIBLE , 400, 20, 200, 20, hwnd, (HMENU) TEXT2, hInstance, NULL))==NULL)
return 0;
se metto un numero mi vien fuori "1", sapete dirmi dove sbajo? grazie
ho provato con itoa, ma mi da problemi: é un programmino con la libreria win32: e cosa sarebbe la "libreria win32"? :asd:
char *sal, testo3[100];
int saldint;
saldint = *sal; sal non è inizializzato
itoa(saldint, testo3, 90); base 90?? :rotfl:
AnonimoVeneziano
15-11-2007, 12:45
char stringa[100];
int num = 10;
sprintf(stringa,"%d", num);
ke significa nn inizializzato?
e la base sarebbe la memoria ke alloco justo?
ke significa nn inizializzato? che cerchi di leggerlo prima di averlo scritto
e la base sarebbe la memoria ke alloco justo? no... :D
usa sprintf che è meglio (è anche standard).
ho capito ke nn é sulla conversione l'errore!!!
é qui e nn so xké:
int saldo[100];
GetDlgItemInt (hwnd, EDIT, saldo, 10 );
fprintf(bozza,"%d", saldo);
xo il numero (mi da sempre 4214896) nn é quello justo, come mai?
grazie
int saldo[100];
GetDlgItemInt (hwnd, EDIT, saldo, 10 ); hai passato un array di int dove veniva richiesto un puntatore ad un solo BOOL; sintatticamente corretto, semanticamente sballato.
fprintf(bozza,"%d", saldo); stai cercando di stampare in base 10 il valore numerico dell'indirizzo del vettore
xo il numero (mi da sempre 4214896) nn é quello justo, come mai? 4214896 = 0x00405070, tipica locazione da segmento dati; deduco che "saldo" è una variabile globale :p
GetDlgItemInt (hwnd, EDIT, saldo, 10 ); dimenticavo: anche l'ultimo parametro è un BOOL, e i BOOL semanticamente accettano due soli possibili valori: TRUE e FALSE.
riguardati la documentazione: http://msdn2.microsoft.com/en-us/library/ms645485.aspx
...quindi? nn ho ben capito cosa vuoi dire con "base 10", ke é la base quindi? come dovrei fare?
si é una variabile globale
...quindi? nn ho ben capito cosa vuoi dire con "base 10", ke é la base quindi? come dovrei fare? le basi numeriche sono argomento di aritmetica di terza elementare, e non scherzo :asd:
hai presente quando si dice che gli esseri umani contano "in base 10", e che i numeri binari sono numeri espressi "in base 2"? ecco... quelle sono le basi...
ah.-...ma quindi 10 é justo scusa no? cosa devo modificare?
stai cercando di stampare in base 10 il valore numerico dell'indirizzo del vettore
ah.-...ma quindi 10 é justo scusa no? cosa devo modificare?
sarà anche giusto il fatto che tu voglia stampare numeri in base 10, ma evidentemente è sbagliato tutto il resto :D
come mai stai cercando di stampare l'indirizzo di un vettore? evidentemente non è ciò che volevi fare visto che ti stupisci dei valori stampati (che invece sono perfettamente regolari)...
appunto, io vojo stampare il numero d saldo[a] ke ho assegnato prima nel programma
AnonimoVeneziano
16-11-2007, 12:09
appunto, io vojo stampare il numero d saldo[a] ke ho assegnato prima nel programma
Una domanda. Dov'è che vuoi stampare questo numero?
A vedere la "fprintf" mi fa venire in mente in un file.
La scrittura :
int saldo[100];
fprintf(bozza, "%d", saldo);
non ha senso, perchè "saldo" è un puntatore, mentre tu dovresti passare a "fprintf" un intero , quindi un elemento dell'array, non il puntatore ad array. Una cosa tipo:
fprintf(bozza, "%d", saldo[0]);
Chiaro?
Ovviamente "bozza" DEVE essere una output stream valida.
Ciao
trallallero
16-11-2007, 13:29
minkia 71104! voleva sapere come convertire un numero e tu gli hai solo confuso le idee :nonsifa:
minkia 71104! voleva sapere come convertire un numero e tu gli hai solo confuso le idee :nonsifa:
ah io eh?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.