#include <iostream>
#include <cstring>
#include <vector>
int main()
{
    char largechars[] = "def1:def2:def3#abc1:abc2:abc3#ghi1:ghi2:ghi3";
    std::vector<char*> v;
    char* chars_array = strtok(largechars, "#");
    while(chars_array)
    {
        v.push_back(chars_array);
        chars_array = strtok(NULL, "#");
    }

    for(size_t n = 0; n < v.size(); ++n)
    {
        char* subchar_array = strtok(v[n], ":");
        while (subchar_array) {
//            MessageBox(NULL, subchar_array, NULL, NULL);
            std::cout << subchar_array << '\n';
            subchar_array = strtok(NULL, ":");
        }
    }
}
