Если вы пишете код на C++, то вы, должно быть, сталкивались с проблемой отсутствия метода разделения в C++. В частности, если я говорю о получении результатов из заданной строки, разделенной пробелами. В этом случае есть несколько способов добиться этого, но в посте я объясню один из доступных способов. Мы можем использовать так называемый метод stringstream, определенный в заголовочном файле stream. Мы можем использовать его, как показано ниже, в C++.
#include<sstream>
мы можем написать нашу собственную функцию split(), которая будет иметь такую реализацию, которая должна возвращать массив/вектор токенов, используя предоставленный разделитель в заданной строке.
Его синтаксис должен выглядеть так:
returnedArray split(providedString, delimiterChar) or vector<string> split(const string givenString, char delimter)
ПРЕИМУЩЕСТВА:
- Очень понятный интерфейс, потому что он написан пользователем.
- Разделитель может быть любым.
- Разделитель можно указать во время выполнения.
НЕДОСТАТОК:
- Это не стандартный способ добиться этого, но да, это, без сомнения, простой и чистый метод.
Есть несколько других способов, таких как boost::split(), использование диапазонов и т. д. Вы можете посетить блог fluentcpp для подробного понимания.