Try
Code:#include <stdio.h>
#include <string.h>
int parse ( char *input, char *output[], int maxtokens ) {
char *seps = "|\n";
int i;
char *p;
for ( i = 0, p = strtok(input,seps) ;
i < maxtokens && p != NULL ;
i++, p = strtok(NULL,seps) ) {
output[i] = p;
}
return i;
}
int main ( ) {
char input[] = "command|MAC|field|field|field\n";
char *output[10];
int len = parse ( input, output, 10 );
int i;
for ( i = 0 ; i < len ; i++ ) {
printf( "%s\n", output[i] );
}
return 0;
}