File: strtok.c

package info (click to toggle)
c-cpp-reference 2.0.2-6
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, lenny
  • size: 8,012 kB
  • ctags: 4,612
  • sloc: ansic: 26,960; sh: 11,014; perl: 1,854; cpp: 1,324; asm: 1,239; python: 258; makefile: 115; java: 77; awk: 34; csh: 9
file content (47 lines) | stat: -rw-r--r-- 1,129 bytes parent folder | download | duplicates (5)
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
 *
 *****************************************************************/