Per loop su una stringa str ho usato:Usa strtok in un ciclo for
for (tok = strtok(str, ";"); tok && *tok; tok = strtok(NULL, ";"))
{
//do stuff
}
Vorrei capire come funziona questo ciclo. Mi sembra:
(1) tok = strtok(str, ";"); //initialization of tok with the first token in str
(2) tok = strtok(NULL, ";"); // go to the next token in str? how does this work?
(3) tok && *tok; //this stops the loop when tok =NULL or *tok=NULL
Gradirei il vostro aiuto!
Hai ragione su tutti e tre i conteggi :) – dasblinkenlight
Dai un'occhiata a ** Related * * domande per maggiori dettagli su come 'strtok()' funziona. Specialmente http://stackoverflow.com/questions/3889992/please-help-in-strtok?rq=1 – Barmar
Il test '* tok' non fa parte dell'idioma standard di strtok. Sembra che voglia fermarsi presto su un campo vuoto, ma non funzionerà perché strtok salta i campi vuoti. –