В соответствии с этим описанием , strtok()
, разделяющим строку на токены по заданному разделителю, возвращает указатель на первый токен, найденный в строке. Все последующие токены необходимо пройти через цикл, как пример кода, приведенный в ссылке.
Каждый ли токен автоматически оканчивается на NULL
? то есть я могу просто назначить каждый токен переменной и использовать его или ему нужно strncpy()
скопировать в выделенное место?
Например, будет ли это действительным?
char str[80] = "This is - www.tutorialspoint.com - website";
const char s[2] = "-";
char *token;
char *test[4];
int test_count = 0;
memset(test, 0x00, 4);
/* get the first token */
token = strtok(str, s);
/* walk through other tokens */
while( token != NULL ) {
test[test_count] = token;
test_count++;
token = strtok(NULL, s);
}