Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: MaxVC98 en 12 Marzo 2016, 01:26 am



Título: Convertir ñ de minuscula a mayuscula y viceversa
Publicado por: MaxVC98 en 12 Marzo 2016, 01:26 am
Buenas a todos.

Tengo una duda, o más que nada una problemática para convertir esta letra.

Este el código donde estoy convirtiendo la cadena:

Código
  1. // Convertir a minusculas
  2. void vMayusculas(char x[])
  3. {
  4. for (int i = 0; x[i]; i++)
  5. {
  6. if (x[i] == 164)
  7. {
  8. x[i] = 165;
  9. cout << x[i];
  10. }
  11. else
  12. {
  13. x[i] = toupper(x[i]);
  14. cout << x[i];
  15. }
  16. }
  17. }
  18.  
Si alguien me pudiera orientar acerca de como convertir la ñ se lo agradecería bastante.

PD: Soy nuevo, llevo apenas unos cuantos minutos, si rompo una regla les agradecería si me informaran


Título: Re: Convertir ñ de minuscula a mayuscula y viceversa
Publicado por: Stakewinner00 en 12 Marzo 2016, 22:04 pm
Deberías trabajar con wchar_t, wcout, y demñas, el problema creo que sera como trabajara la función toupper con whcar, sino en todo caso puedes hacerte tu mismo esa funcion
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main() {
  6. wcout.sync_with_stdio(false);
  7.       wcout.imbue(locale("es_ES.utf8"));
  8. wchar_t x[] = L"AÑO";
  9. wcout << x[1];
  10. }

Fuente: http://www.cplusplus.com/forum/beginner/126557/