lo he intentado como dices pero no ha funcionado, aclaro que es en c++
el siguiente codigo es lo que he intentado pero no ha funcionado
char* invertirPalabra(char* palabra){
int tamano = longitud(palabra);
char * palabra2 = palabra;
for (int i = 0; i<tamano; i++) {
if (int (palabra) >= 97 && int(palabra) <= 122) {
palabra2 = 'A' + (int(palabra) - 'a');
}
else if (int(palabra) >= 65 && int(palabra) <= 90) {
palabra2 = 'a' + (int(palabra) - 'A');
}
else {
palabra2 = palabra;
}
}
return palabra;
}
int longitud(char *cadena)
{
int i = 0;
while (cadena != '\0')
i++;
return i;
}
Coloca el código entre etiquetas de código GeSHi (hay un desplegable encima del cuadro de texto)...
Lo primero decir que no hace falta que lo pases a ASCII. Los operadores < y > se pueden aplicar directamente a una variable de tipo <char>
if(caracter >= 'a' && caracter <= 'z')
caracter = caracter - ('a' - 'A');
else if(caracter >= 'A' && caracter <= 'Z')
//... este te lo dejo a ti;
Supongo que quieres cambiar la que se pasa como parámetro, no crear una nueva no?
Puedes usar el propio índice del <for> para recorrer toda la cadena y cambiar el valor que sea necesario sin usar punteros auxiliares. Suerte