Функция strtok предназначена для разбиения на части заданной строки.
#include <stdio.h> #include <string.h> char * tmp = strtok(char *string, char *delimiters);
- string — разбиваемая строка
- delimiters — разделитель. Символ которые будет считаться началом/концом строки
Функция возвращает параметр типа char, который содержит первый «кусок» строки. Для получения дальнейших «кусков» необходимо вызвать функцию с первым параметром NULL
char *tmp = strtok(NULL, char *delimiters);
Выглядит это грозно, но на примере вам станет всё понятно.
Рассмотрим функцию, которая разделит заданную строку по пробелам.
#include <stdio.h> #include <string.h> #include <iostream> int main () { char buff[] = "Строка для разделения по пробелам"; char *tmp_char; tmp_char = strtok(buff," "); // вызовем функцию strtok для разделения строки в buff по пробелам while (tmp_char != NULL) { ///выводим части пока они существуют std::cout << tmp_char << "\n"; ///выведем часть на экран tmp_char = strtok(NULL, " "); ///получим следующую часть } return 0; }
Как видите всё не так сложно…