Имя функции : стрток
Заголовочный файл : <string.h>
Прототип функции : char *strtok(char *str1, const char *str2);
Функция : Разложить строку, используя указанный разделитель.
Параметры : char *str1 — строка, которую нужно разложить.
const char *str2 — строка-разделитель.
Возвращаемое значение : Возвращает указатель следующей разделенной строки или NULL, если его невозможно разделить.
Примечание . 1. Функция функции заключается в разложении строки. Так называемая декомпозиция означает, что новая строка не генерируется, но разделитель изменяется на «/0» в той позиции, где разделитель впервые появляется в указанном содержимом. на s, поэтому в первый раз верните первую подстроку с помощью strtok()
2. После завершения извлечения первой подстроки продолжите извлечение исходной строки s. Первый параметр strtok должен быть присвоен последующим (второму, третьему,...n-му) вызовам. Это пустое значение NULL (указывает, что функция продолжает разлагать строку из позиции, неявно сохраненной при предыдущем вызове, для предыдущего вызова; этот указатель используется для указания на следующий бит разделителя перед концом первого вызова)
3. Когда этот указатель указывает на « », то есть разделенной подстроки нет, и в этот момент возвращается NULL.
4. Разделитель можно понимать как набор разделителей, а символы разделителя можно использовать в качестве разделителей.
5. При вызове strtok, если начальной позицией является разделитель, разделитель, начинающийся с начальной позиции, игнорируется.
6. Эта функция изменит значение str1, поэтому str1 должен быть массивом строк, а не указателем строки.
Пример программы : Разделите входной массив строк разделителем и выведите результат.
#include<string.h>#include<stdio.h>intmain(void){charinput[50]=мне нравитсяwww.dotcpp.comverymuch;char*p=strtok(input,);if(p){printf(%s n,p);} while(p=strtok(NULL,)){//Используйте первый параметр, равный NULL, чтобы извлечь подстроку printf(%sn,p);}return0;}
Результаты запуска:
Мне очень нравитсяwww.dotcpp.com