#include #include char* strdupn(const char* s) { size_t len = strlen(s); char* dup = new char[len + 1]; strcpy(dup, s); return dup; } char* f(char* s) { for (char* p = s; *p; ++p) if ( *p >= 'A' && *p <= 'Z') *p += 'a' - 'A'; return s; } int main() { char s[] = "¿Qué Hace Esto?"; char* dups = strdupn(s); std::cout << f(dups) << " :: " << s << std::endl; delete [] dups; return 0; }