Ciao gente, parlo di ANSI C.

Io ho un array di dimensioni non conosciute, contenente una stringa di dati.
Tali dati sono così composti: una consonante e tot numeri, poi ancora consonante e tot numeri... etc...
Esempio: W12S345W1

Voglio arrivare a suddividere la stringa per avere W 12 e chiamare una funzione, poi S 345 e richiamare altra funzione e W 1 e richiamare ancora una funzione...

Ovviamente la funzione da chiamare avrà come parametri un char e un int, dunque la sequenza di numeri (dentro la stringa) devo pure appunto trasformarli in un dato "int" al posto che "char"...

Io avevo una idea così, ma mi crasha...
codice:
char *beta;
int i = 0;
int j;

// la lettura di beta so già come effettuarla...
beta = leggi_parola();
do
{
direzione = beta[i];
i++;
j=0;
while('0' <= beta[i] <= '9')
{
	if(j==0)
	{
		spostamento = (int) beta[i];
	}
	else
	{
		spostamento *= 10;
		spostamento += (int) beta[i];
	}
	i++; j++;
}
funzione(direzione, spostamento);
} while(direzione!='\0');