summaryrefslogtreecommitdiff
path: root/reference/C/EXAMPLES/strtok.c
blob: 23b5d30ecafdc3cf3cd28cfdfb3685c829bc9baf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/*****************************************************************
 *
 * Purpose: Program to demonstrate the 'strtok' function.
 * Author:  M J Leslie
 * Date:    23-Apr-94
 *
 ****************************************************************/

#include <stdio.h>
#include <string.h>

main()
{
				/* Copy the constant into the memory
				 * pinted to by 'test_string' 		*/
  char test_string[50]="string to split up";

	/* if 'test_string' is declared as below and the program will give a 
 	 * 'Segmentation fault' This is because test_string' is pointing
 	 * to a constant i.e. somethin that cant be changed. 	

	   char *test_string="string to split up"; 		*/
			
  char *sub_string;

					/* Extract first string	*/
  printf("%s\n", strtok(test_string, " "));

					/* Extract remaining 
					 * strings 		*/
  while ( (sub_string=strtok(NULL, " ")) != NULL)
  {
    printf("%s\n", sub_string);
  }
}
/*****************************************************************
 *
 * Program O/P will look like this...
 *
 *   string
 *   to
 *   split
 *   up
 *
 *****************************************************************/