[Prog C] Trasformare una stringa in intero
>>>>> "L" == Leo <leo@madnet.it> writes:
L> Ciao a tutti, dovrei operare un incremento ad un numero
L> rappresentato come stringa del tipo stringa = "A001" (valore
L> ritornato da una query al postgres) trasformandolo in
L> nuova_stringa = "A002" lasciando intatto la lettera iniziale ed
L> incrementando modulo 1000. Come posso fare ?
Controlli di rito(*) a parte, questa può essere una soluzione:
void
trasforma (const char *stringa, char *nuova_stringa)
{
int num = atoi (stringa+1);
num = (num + 1) % 1000;
sprintf (nuova_stringa, "%c%03d", *stringa, num);
}
ciao, lele.
(*) controllo del formato di "stringa", che *deve* essere del tipo
Axxx; e nuova_stringa, che *deve* essere un array di almeno cinque
caratteri.
--
nickname: Lele Gaifax | Quando vivro' di quello che ho pensato ieri
real: Emanuele Gaifas | comincero' ad aver paura di chi mi copia.
email: lele@seldati.it | -- Fortunato Depero, 1929.
Reply to: