Programming Tips - C/C++: Example use of use strtok_r()

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); } }