Функция 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;
}
Как видите всё не так сложно…







