Strtok è una funzione che restituisce un puntatore e infatti *tokenPtr è un puntatore.
Quando però lo uso all'interno del ciclo while, in quel caso tokenPtr, per come è scritto, indica un indirizzo?
Dal poco che ho capito sui puntatori dovrebbe appunto essere un indirizzo, perchè il valore di una variabile puntatore è l'indirizzo dell'elemento a cui punta, però questo non mi torna, nel momento in cui tokenPtr è usato in printf e vengono stampate delle parole, non degli indirizzi...
- Codice:
#include <stdio.h>
#include <string.h>
int main(void)
{
char string[] = "This is a sentence with 7 tokens";
printf("%s\n%s\n\n%s\n",
"The string to be tokenized is:", string,
"The tokens are:");
char *tokenPtr = strtok(string, " ");
while (tokenPtr != NULL) {
printf("%s\n", tokenPtr);
tokenPtr = strtok(NULL, " "); // get next token
}
}
Grazie in anticipo!