Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h> // fprintf
- #include <stdlib.h> // malloc
- #include <string.h> // strlen
- #include <ctype.h> // toupper, tolower
- /*
- * a string is an array of characters, in C, all arrays
- * are always passed never passed value, always a pointer to
- * the variable
- * This is why the caller does not need to call the function like:
- * camel_case_rev(src, &dest, len)
- *
- * Since here the array of characters ("a string") is already being
- * passed as a pointer value
- */
- void str_case_rev(const char *src, char *dest, size_t len)
- {
- size_t i = 0;
- for(; i < len; i++)
- {
- if(src[i] <= 'Z' && src[i] >= 'A')
- {
- *(dest + i) = (char)tolower((int)src[i]);
- }
- else if(src[i] <= 'z' && src[i] >= 'a')
- {
- *(dest + i) = (char)toupper((int)src[i]);
- }
- else
- {
- *(dest + i) = src[i];
- }
- }
- i++;
- *(dest + i) = '