Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- // start Nicks Hilfsmethoden
- char *BCX_TmpStr(size_t Bites) {
- static int StrCnt;
- static char *StrFunc[64];
- StrCnt = (StrCnt + 1) & 63;
- free(StrFunc[StrCnt]);
- return StrFunc[StrCnt] = (char*) calloc(Bites + 256, 1);
- }
- char *replace(char *src, char *pat, char *rep) {
- size_t patsz, repsz, tmpsz, delta;
- char *strtmp, *p, *q, *r;
- if (!src)
- src = "";
- if (!pat || !*pat) {
- strtmp = BCX_TmpStr(strlen(src));
- if (!strtmp)
- return NULL;
- return strcpy(strtmp, src);
- }
- if (rep == NULL)
- rep = "";
- repsz = strlen(rep);
- patsz = strlen(pat);
- for (tmpsz = 0, p = src; q = strstr(p, pat); p = q + patsz)
- tmpsz += (size_t) (q - p) + repsz;
- tmpsz += strlen(p);
- strtmp = BCX_TmpStr(tmpsz);
- if (!strtmp)
- return NULL;
- for (r = strtmp, p = src; q = strstr(p, pat); p = q + patsz) {
- delta = (size_t) (q - p);
- strncpy(r, p, delta);
- r += delta;
- strcpy(r, rep);
- r += repsz;
- }
- strcpy(r, p);
- return strtmp;
- }
- // end Nicks Hilfsmethoden
- int main(int argc, char *argv[]) {
- char* x = "wtf,halhalo,halo";
- char a[4096];
- strcpy(a, x);
- printf("%s\n", x);
- strcpy(a, (char*) replace(a, ",", "."));
- x = a;
- printf("%s\n", x);
- return 0; // End of main program
- }
Add Comment
Please, Sign In to add comment