|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jun 2009
Messaggi: 5537
|
[C] - stringa ascii in decimale
Buongiorno a tutti,ho un problema in un linguaggio poco conosciuto,ed è per questo che propongo di risolverlo su C,dopo lo implemento su questo linguaggio.L' unica cosa fondamentale è risolvere questo quesito
"funzione che permette di ottenere da una stringa di caratteri ascii rappresentante un numero decimale anche di piu' cifre il suo valore" se io inserisco 456 ad esempio in sequenze ascii,qual' è il suo valore? Quel che mi serve è anche solo a parole il risultato,cosa devo avere da 4 da ascii in decimale ecc..... Grazie in anticipo |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
una banale atoi o sscanf quindi.
devi scannerizzare la stringa dal primo all'ultimo carattere, controllare che ogni carattere sia numerico (uscire direttamente con un errore altrimenti) ed aggiornare un valore intero aggiungendovi la cifra che hai appena letto. codice C non testato: Codice:
int MyAtoi(const char *psz) { int nValue = 0; while (*psz) { char ch = *psz; if ((ch < '0') || (ch > '9')) { return -1: } int nDigit = ch - '0'; nValue = nValue * 10 + nDigit; psz++; } return nValue; } EDIT - nel mio codice c'é un errore: se gli passi la stringa vuota restituisce 0. la correzione é lasciata come esercizio al lettore ![]() Ultima modifica di fero86 : 23-09-2009 alle 19:11. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:18.