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.