Если вы пишете код на C++, то вы, должно быть, сталкивались с проблемой отсутствия метода разделения в C++. В частности, если я говорю о получении результатов из заданной строки, разделенной пробелами. В этом случае есть несколько способов добиться этого, но в посте я объясню один из доступных способов. Мы можем использовать так называемый метод stringstream, определенный в заголовочном файле stream. Мы можем использовать его, как показано ниже, в C++.

#include<sstream>

мы можем написать нашу собственную функцию split(), которая будет иметь такую ​​реализацию, которая должна возвращать массив/вектор токенов, используя предоставленный разделитель в заданной строке.

Его синтаксис должен выглядеть так:

returnedArray split(providedString, delimiterChar)
or
vector<string> split(const string givenString, char delimter)

ПРЕИМУЩЕСТВА:

  1. Очень понятный интерфейс, потому что он написан пользователем.
  2. Разделитель может быть любым.
  3. Разделитель можно указать во время выполнения.

НЕДОСТАТОК:

  1. Это не стандартный способ добиться этого, но да, это, без сомнения, простой и чистый метод.

Есть несколько других способов, таких как boost::split(), использование диапазонов и т. д. Вы можете посетить блог fluentcpp для подробного понимания.