“Что означает strtok(нулевой разделитель)?”
Функция strtok — это функция манипулирования строками, доступная во многих языках программирования, включая C, C++ и PHP. Он используется для разделения строки на последовательность токенов на основе указанного разделителя. Разделитель обычно представляет собой символ или набор символов, которые определяют границы между токенами. Однако если для параметра разделителя установлено значение NULL, это имеет особое значение. В этой статье мы рассмотрим значение и поведение strtokс разделителем NULLи приведем примеры кода на различных языках программирования.
Что такое strtokс разделителем NULL:
В функции strtok, когда для разделителя установлено значение NULLон выполняет серию токенизаций входной строки. Каждый вызов strtokвозвращает следующий токен из исходной строки, пока он не достигнет конца строки. Первый вызов strtokиспользует исходную строку в качестве входных данных, а последующие вызовы используют NULLв качестве входной строки.
Примеры кода на разных языках программирования:
-
C:
#include <stdio.h> #include <string.h> int main() { char str[] = "This is a sample string."; char* token = strtok(str, NULL); while (token != NULL) { printf("%s\n", token); token = strtok(NULL, NULL); } return 0; } -
C++:
#include <iostream> #include <cstring> int main() { char str[] = "This is a sample string."; char* token = strtok(str, NULL); while (token != NULL) { std::cout << token << std::endl; token = strtok(NULL, NULL); } return 0; } -
PHP:
<?php $str = "This is a sample string."; $token = strtok($str, null); while ($token !== false) { echo $token . "\n"; $token = strtok(null); } ?>
Эти примеры кода демонстрируют, как использовать strtokс разделителем NULLдля токенизации строки и печати каждого токена.