Salve!!!
ho un file e dovrei leggere tutti gli elementi numeri e stringhe carattere carattere.
è possibile salvare le cifre in una variabile char* e poi far diventare le cifre-carattere un numero con un cast?
Grazie!!!
Salve!!!
ho un file e dovrei leggere tutti gli elementi numeri e stringhe carattere carattere.
è possibile salvare le cifre in una variabile char* e poi far diventare le cifre-carattere un numero con un cast?
Grazie!!!
Se hai una cifra-carattere in un char la puoi trasformare in un numero con una sottrazione più un cast. Un char di fatto è un tipo numerico, e i caratteri delle cifre sono sequenziali (fatto garantito dallo standard); puoi quindi fare:
codice:char unCarattere; /* ... */ int cifra = (int) unCarattere-'0';
Amaro C++, il gusto pieno dell'undefined behavior.
ho fatto questo codice, ma mi va in crash:
le variabili char dovrebbero contenere le cifre prese dal file;
codice:int main(void) { char* stringa = NULL; char uno = '9'; char due = '5'; char tre = '4'; *stringa = uno + due + tre + '\0'; printf("%s", stringa); system("PAUSE"); r eturn EXIT_SUCCESS; }
Che senso dovrebbe avere questa riga?
1. Non hai allocato spazio per la stringa, stringa è un puntatore non valido.codice:*stringa = uno + due + tre + '\0';
2. La somma di dei char non risulta in una qualche genere di concatenazione, ma nella somma dei loro valori numerici.
Amaro C++, il gusto pieno dell'undefined behavior.