char* replaceSpace(char* s) { char* ret = NULL; char* tmp = NULL; int count = 0; char* arr = "%20"; size_t len = strlen(s); char* k = s; while (*k != '\0') { if (*k == ' ') { count++; } k++; } ret = (char*)malloc(len + 3 * count + 1); if (ret == NULL) { perror("malloc"); return NULL; } else { tmp = ret; } while (*s != '\0') { if (*s == ' ') { int i = 0; int j = 0; char* pr = arr; for (i = 0; i < 3; i++) { *ret = *pr; j++; if (j == 3) { break; } ret++; pr++; } } else { *ret = *s; } s++; ret++; } *ret = *s; return tmp; }