Разделение строки в С++

Функция 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;
}

Как видите всё не так сложно…

 

Похожий код:

Фото аватара
Алексей Петров

Программист, разработчик с 5 летним опытом работы. Учусь на разработчика игр на Unity и разработчика VR&AR реальности (виртуальной реальности). Основные языки программирования: C#, C++.

Оцените автора
Бла, бла код
Добавить комментарий