c ++ function, strtok () cplusplus.com
Будет ли этот пример страдать из-за переполнения буфера, если str не завершится должным образом?
/* strtok example */
/* source - cplusplus.com (see link below) */
#include <stdio.h>
#include <string.h>
int main ()
{
char str[] ="- This, a sample string.";
char * pch;
printf ("Splitting string \"%s\" into tokens:\n",str);
pch = strtok (str," ,.-");
while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok (NULL, " ,.-"); // walk the stack?
}
return 0;
}
Если str неправильно завершен с "\ 0", невозможно для
pch = strtok (NULL, " ,.-");
пройтись по стеку?
Спасибо!