Funzione strtok[Risolto]

di il
2 risposte

Funzione strtok[Risolto]

Salve a tutti
Stavo studiando la funzione strtok e stavo provando a creare un piccolo programma il cui scopo è il seguente: digitare un numero di telefono e suddividere il numero in due parti, cioè il prefisso e il resto del numero e vederle visualizzate queste due parti in due output distaccati.
Questa divisione l'ho voluta fare tramite la funzione strtok ma ho un problema, ovvero il resto del numero non è completo, o meglio mancano le ultime due cifre.

Ecco il codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>//libreria per la formattazione delle stringhe

int main()
{
    char telefono[30]; //vettore di caratteri per il numero di telefono
    char *numPtr;
    char *tokenPtr; //Puntatore per i token
    int prefisso=0;
    long restonumero=0;


    printf("Digitare numero telefonico [ es.342/9559643 ]: \n");
    fgets(telefono,10,stdin); //input del numero telefonico

    tokenPtr = strtok(telefono,"/"); //suddivisione del prefisso
    prefisso = atoi(tokenPtr); //conversione del prefisso in un numero intero

    numPtr = strtok(NULL,"\0");
    restonumero = atol(numPtr);

    printf("Prefisso: %d \n",prefisso); //stampa del prefisso
    printf("Resto del numero: %ld \n",restonumero);

    return 0;
}//end main
Inoltre una volta separate le due parti trasformo la stringa in int e long.
Grazie

2 Risposte

Devi accedere o registrarti per scrivere nel forum
2 risposte