Date: 2010mar15
Update: 2023oct20
Language: C/C++
Keywords: strtok, strtok_s_l, Microsoft Visual C++
Q. C/C++: Example use of use strtok_r()
A. Here's an example. This function uses strtok_r() to break up a string
they is delimited by semi-colons and commas.
// Linux
void BreakOnPunct(char *s)
{
const char * delim = ";,"; // Your choice of delimiters
char * save;
char * p;
for (p = strtok_r(s, delim, &save); p; p = strtok_r(NULL, delim, &save))
{
printf("chunk=%s\n", p);
}
}
In older MSVC++ there is strtok_s() which is used just the same:
// Windows
void BreakOnPunct(LPSTR s)
{
LPCSTR delim = ";,"; // Your choice of delimiters
LPSTR save;
LPSTR p;
for (p = strtok_s(s, delim, &save); p; p = strtok_s(NULL, delim, &save))
{
printf("chunk=%s\n", p);
}
}