[prev] [index] [next]

Dynamic Memory Allocation (cont)

Attempt #2: user-supplied string buffer (different interface)

char *old = "This is MY string.";
char new[BUFSIZ];
...
lowerCase(old, new);
...
void lowerCase(char *in, char *out) {
	char *cp, *op = out;
	for (cp = in; *cp != '\0'; cp++) {
		*op = tolower(*cp);
		op++;
	}
	*op = '\0';
}

More common way of writing loop body:   *op++ = tolower(*cp);