#include #include #include void SringTrimStart(char *p, char *trim) { char *q = p; do { if (strchr(trim, *q) == NULL) break; q++; } while(1); memmove(p, q, strlen(q) + 1); } void SringTrimEnd(char *p, char *trim) { char *q; int len = strlen(p); if (len == 0) return; q = p + len - 1; do { if (strchr(trim, *q) == NULL) break; q--; } while(1); q++; *q = 0; } void StringTrim(char *p, char *trim) { SringTrimStart(p, trim); SringTrimEnd(p, trim); } int main(void) { char buf1[100]; char buf2[100]; char buf3[100]; char cTarget[] = "ABCBA-1234-CBABC"; char cTrims[] = "ABC"; strcpy(buf1, cTarget); strcpy(buf2, cTarget); strcpy(buf3, cTarget); SringTrimStart(buf1, cTrims); SringTrimEnd(buf2, cTrims); StringTrim(buf3, cTrims); printf("%s\n", buf1); printf("%s\n", buf2); printf("%s\n", buf3); return 0; }