diff --git a/include/Functions.hpp b/include/Functions.hpp index 7ae95302..fe472f64 100644 --- a/include/Functions.hpp +++ b/include/Functions.hpp @@ -342,6 +342,15 @@ RLAPI inline std::string TextInsert(const std::string& text, const std::string& return ""; } +/** + * Split text into multiple strings + */ +RLAPI inline std::vector TextSplit(const std::string& text, char delimiter) { + int count; + const char** split = ::TextSplit(text.c_str(), delimiter, &count); + return std::vector(split, split + count); +} + /** * Find first text occurrence within a string */ diff --git a/tests/raylib_cpp_test.cpp b/tests/raylib_cpp_test.cpp index d3e25ee1..915f6d0f 100644 --- a/tests/raylib_cpp_test.cpp +++ b/tests/raylib_cpp_test.cpp @@ -94,6 +94,13 @@ int main(int argc, char *argv[]) { AssertEqual(output, "World"); } + // TextSplit + { + std::vector output = raylib::TextSplit("Hello|How|Are|You", '|'); + AssertEqual(output.size(), 4); + AssertEqual(output[1], "How"); + } + // Wave { raylib::Wave wave(path + "/resources/weird.wav");