/* source: http://user.it.uu.se/~embe8573/c/28/split/ https://dataswamp.org/~incal/c/28/split/ */ #include #include #include "main.h" int main (int argc, char* argv[]) { char* str = argv[1]; char token = *(argv[2]); int len = strlen(str); int i = len; char* c = str + i; char* t; int lastlen = 0; while (0 <= i) { t = strchr(c, token); if (t != NULL) { // great days! found the delimiter! lastlen = len - ++i; // once found, move past the delimiter break; } else { c--; i--; } } char laststr[lastlen]; memcpy(laststr, &str[i], lastlen); laststr[lastlen] = '\0'; printf("Result: %s\n", laststr); return 0; }