|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 | |
|
Member
Iscritto dal: Jul 2006
Messaggi: 92
|
[C]: problema con conversione da stringa ad intero
Sto scrivendo un programmino multimodulo per un corso all' università.
Uno dei moduli che lo compone è un convertitore numerico: prende in input una stringa di simboli da interpretare in una data base e ne fa la conversione in base 10. Esempio: se setto la base a 8 e decodifico la stringa "15", otterrò il numero naturale 13 il problema è che, quando passo la stringa carattere per carattere, per interpretarli uno alla volta e moltiplicarli per la corrispondente potenza della base, il primo carattere della stringa mi viene sempre "letto male". Esempio di output con base = 8 e valore da convertire = 3274: Quote:
allego i tre sorgenti per maggiore chiarezza (sono rinominati come txt, perchè altrimenti non potevo allegarli) |
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 2722
|
Questa funzione ad esempio non va affatto bene
Codice:
char* maiusc(char* s1)
{
char* s2;
int i;
for(i = 0; i < strlen(s1); i++)
if(islower(s1[i]))
s2[i] = toupper(s1[i]);
return(s2);
}
EDIT: Io la modificherei così: Codice:
void maiusc(char* s1)
{
int i;
for(i = 0; i < strlen(s1); i++)
if(islower(s1[i]))
s1[i] = toupper(s1[i]);
return;
}
Personalmente userei ad esempio strnlen() invece di strlen().
__________________
- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale. - A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson Ultima modifica di -fidel- : 18-10-2006 alle 17:53. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:52.



















