Функция strtok в языке C: описание и примеры использования

strtok в языке программирования C используется для разделения строки на подстроки на основе разделителя. Он принимает два аргумента: первый - указатель на строку, которую нужно разделить, и второй - строку-разделитель.

Пример использования функции strtok:

c
#include 
#include 
int main() {
    char str[] = "Hello, world! This is a test.";
    char delimiters[] = " ,.!"; // задаем разделители
    char* token = strtok(str, delimiters); // разделяем строку
    while (token != NULL) { // пока есть подстроки
        printf("%s\n", token); // выводим каждую подстроку
        token = strtok(NULL, delimiters); // продолжаем разделение
    }
    return 0;
}

В данном примере мы разделяем строку "Hello, world! This is a test." на подстроки, используя разделители " ,.!". Функция strtok находит первое вхождение любого из разделителей в строке и заменяет его на символ конца строки '\0'. Затем она возвращает указатель на начало этой подстроки. При следующем вызове strtok с аргументом NULL она продолжает разделять строку, начиная с символа, следующего за символом конца строки, и возвращает указатель на следующую подстроку.

Результат выполнения этого кода будет:


Hello
world
This
is
a
test

Однако, стоит учитывать, что функция strtok является нечасто безопасной для использования, так как изменяет исходную строку. Помимо этого, если строка содержит несколько последовательных разделителей, то strtok воспринимает все эти символы как один разделитель. Если это не является желаемым поведением, то можно воспользоваться более безопасной и предсказуемой функцией strtok_r.

Похожие вопросы на: "strtok си "

Python In: Learn Python Programming Language from Scratch
Перебор объекта в JavaScript: где использовать циклы и методы
Last Child: кто он и как воспитывать
Foreign Key в Django: Что это такое и как использовать
Appodeal – мощный рекламный медиатор для мобильных приложений
Конвертирование строк в символы: string to char
Encoding C: A Comprehensive Guide to Mastering the Fundamentals and Techniques
Python Join List to String: Efficient Techniques and Examples
LifeRay - универсальное решение для создания и управления веб-порталами
SQL Server Configuration Manager