Some programs can just process an entire file at once, and other programs need to examine the file line-by-line. In the latter case, you likely need to parse data in each line. Fortunately, the C programming language has a standard C library function to do just that.
The strtok function breaks up a line of data according to "delimiters" that divide each field. It provides a streamlined way to parse data from an input string.
Reading the first token
Suppose your program needs to read a data file, where each line is separated into different fields with a semicolon. For example, one line from the data file might look like this:
102*103;K1.2;K0.5
In this example, store that in a string variable. You might have read this string into memory using any number of methods. Here's the line of code:
char string[] = "102*103;K1.2;K0.5";
Once you have the line in a string, you can use strtok to pull out "tokens." Each token is part of the string, up to the next delimiter. The basic call to strtok looks like this:
#include
char *strtok(char *string, const char *delim);
The first call to strtok reads the string, adds a null (\0
) character at the first delimiter, then returns a pointer to the first token. If the string is already