#include <stdio.h>
#include <string.h>
void trim(char *str) {
char *start = str;
while (*start == ' ') start++;
char *end = str + strlen(str) - 1;
while (end > start && *end == ' ') end--;
*(end + 1) = '\0';
// void *memmove(void *destination, const void *data_to_be_copied, size_t total_bytes)
memmove(str, start, end - start);
}
void split_by_substring(char *str, const char *delimiter) {
char *start = str;
char *end;
while ((end = strstr(start, delimiter)) != NULL) {
*end = '\0';
trim(start);
printf("%s\n", start);
start = end + strlen(delimiter);
}
trim(start);
printf("%s\n", start);
}
int main() {
char str[] = "C programming language and Dennis Ritchie and Bell Laboratories and popular";
const char delimiter[] = "and"; // Substring delimiter
split_by_substring(str, delimiter);
return 0;
}
/*
run:
C programming language
Dennis Ritchiie
Bell Laboratoriees
populaar
*/