19/05/2023 - oregon ha scritto:
Perché non usi semplicemente la funzione
strtok 
?
Non conoscevo tale funzione. Ora sì, grazie a te ;)
Comunque ho fatto delle prove partendo dal seguente esempio trovato su cplusplus.com:
/* strtok example */
#include <stdio.h>
#include <string.h>
int main ()
{
  char str[] ="- This, a sample string.";
  char * pch;
  printf ("Splitting string \"%s\" into tokens:\n",str);
  pch = strtok (str," ,.-");
  while (pch != NULL)
  {
    printf ("%s\n",pch);
    pch = strtok (NULL, " ,.-");
  }
  return 0;
}
Però se sostituisco la definizione della stringa
char str[] ="- This, a sample string.";
con quest'altra (le mie stringhe sono per forza di cose puntatori di char, non dipende da me):
char *str ="- This, a sample string.";
non funziona più.
Purtroppo non ho mai approfondito bene la gestione delle sringhe in C avendo trattato principalmente algoritmi numerici e mi sto rendendo conto che, come riferito da alfredo.centinaro, sono di difficile gestione.
@alfredo.centinaro
E sì, pur essendo un lavoro ad uso personale, per ora sono vincolato al C.