Salve,
Scusate, è possibile che leggendo carattere per carattere una stringa me ne vengano letti 2???
Allora io ho questa stringa ovvero un puntatore a caratteri memorizzato in una struttura..In questa stringa ci sono caratteri alfanumerici del tipo 5N4W3E e devo sapere scomporre il numero dalla lettera che lo segue. Lo stesso per 20N40W devo leggere come numero 20 e come lettera W.
Io ho fatto così
for(i=0;(inizio->percorso[i])!='\0'{
numero=0;
while((inizio->percorso[i]!='N')&&(inizio->percorso[i]!='S')&& (inizio->percorso[i]!='W')&&(inizio->percorso[i]!='E')){
numero=numero*10+atoi(&(inizio->percorso[i]));
printf("atoi:%i %i\n",i,numero);
i++;
}//end while
if (inizio->percorso[i]=='N'){y=y+numero;}//se vado a nord incremento y
if (inizio->percorso[i]=='S'){y=y-numero;}//sud decremento
if (inizio->percorso[i]=='E'){x=x+numero;}//est incremento x
if (inizio->percorso[i]=='W'){x=x-numero;}//ovest decremento x
i++;
}//end for
Perchè se digito 40 in numero mi stampa 400, nonostante inizio->percorso[i]).Ho notato che nel while mi cicla una volta in più di quello che serve.percorso[i] è un singolo carattere!
Grazie