Originariamente inviato da menphisx
codice:
char *string = "ciao a tutti";
char *token = NULL;

token = strtok(string, " ");
puts(token);

while((token = strtok(NULL, " ")) != NULL){
   
   puts(token);
   
}
oppure:
codice:
stringstream ss;

ss << "ciao a tutti";

while(!ss.eof()){
   
   string token;
   
   ss >> token;
   
   cout << token << std::endl;
   
}
scusate una cosa, funziona tutto, ma rileggendo non ho ben chiaro questa parte:

codice:
  
   
   ss >> token;
che cos'è che faccio qui?

EDIT: forse ho capito: lo stream ss è pieno perchè ci ho scritto, usando l'operator >> cerco di leggere di nuovo e mettere in token il risultato, ma lo stream è pieno e quindi sfruttando anche il fatto che l'operator >> come sul cin "tokenizza" per spazi, suddivido lo streamo in questo modo?