Δημοσιεύτηκε: 28 Μαρ 2012, 16:35
Το έκανα (λίγο βιαστικά) και το έβαλα να δουλεύει με το sample code που παραθέτεις στο site σου:
Για δες αν είναι οκ. Φρόντισα και γι' αυτό που λες στο παραπάνω post.
PS. Ο κώδικας επιδέχεται μικρές βελτιώσεις. Ο έλεγχος που κάνω μέσα στο loop ίσως μπορεί να μεταφερθεί στο σώμα του loop. Θα τα δω αργότερα.
- Μορφοποιημένος Κώδικας: Επιλογή όλων
-
#include <stdio.h>
#include <string.h>
#define MAXTOKENS 50
int s_tokenize(char *s, char *tokens[], const int ntoks, const char *delims)
{
int i = 1;
tokens[0] = strtok(s, delims);
for (i = 1; i < ntoks; i++) {
tokens[i] = strtok(NULL, " ,.-");
if (! tokens[i])
break;
}
return i;
}
int main( void )
{
char s[] = "lots of character to play with";
char *tokens[ MAXTOKENS ] = { NULL };
int ntokens = 0;
register int i = 0;
ntokens = s_tokenize( s, tokens, MAXTOKENS, " " );
if ( ntokens > 0 )
for (i=0; i < ntokens; i++)
puts( tokens[i] );
return 0;
}
Για δες αν είναι οκ. Φρόντισα και γι' αυτό που λες στο παραπάνω post.
PS. Ο κώδικας επιδέχεται μικρές βελτιώσεις. Ο έλεγχος που κάνω μέσα στο loop ίσως μπορεί να μεταφερθεί στο σώμα του loop. Θα τα δω αργότερα.