void splitString(cchar* text, cchar* seps, vec<char*>& out) { while (hasChar(seps, *text)) text++; if (*text == 0) return; cchar* start = text; for(;;){ if (*text == 0 || hasChar(seps, *text)){ out.push(xstrndup(start, text-start)); while (hasChar(seps, *text)) text++; if (*text == 0) return; start = text; }else text++; } }
int splitStringToChar(char *in, std::vector<char> &out, char sep) { char *p; p = strtok(in, &sep); while (p != NULL) { if (strlen(p) > 1) { std::cerr << "error: only one character per field" << std::endl; return 1; } if (!hasChar(out,*p)) { out.push_back(*p); } p = strtok(NULL, &sep); } std::cout << "size of out = " << out.size() << std::endl; std::cout << "out = " << out.data() << std::endl; out.push_back(' '); return 0; }