Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/09/2010, 19:23
Avatar de donyoyo
donyoyo
 
Fecha de Ingreso: mayo-2010
Ubicación: Chile
Mensajes: 31
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: ayuda:como convertir a mayusculas en una cadena de caracteres

estimado:
la implentación de cualquier C trae consigo una libreria "ctype.h" que contiene las funciones:
- int to_upper(int c)
- int to_lower(int c)

Aca unas rutinas utilizando dichas funciones:
Código C:
Ver original
  1. #include <string.h>
  2. #include <strings.h>
  3. #include <ctype.h>
  4.  
  5. int to_minusculas(char *texto)
  6. {
  7.     int idx;
  8.     for(idx=0;idx<strlen(texto);idx++)
  9.         texto[idx]=tolower(texto[idx]);
  10. }
  11.  
  12. int to_mayusculas(char *texto)
  13. {
  14.     int idx;
  15.     for(idx=0;idx<strlen(texto);idx++)
  16.        texto[idx]=toupper(texto[idx]);
  17. }
  18.  
  19. int to_capitalize(char *texto)
  20. {
  21.     int idx;
  22.     int sw=0;
  23.  
  24.     to_minusculas(texto);
  25.  
  26.     for(idx=0;idx<strlen(texto);idx++)
  27.     {
  28.        if ((sw==0) && (texto[idx]!=32))
  29.        {
  30.           texto[idx]=toupper(texto[idx]);
  31.           sw=1;
  32.        }
  33.        if (texto[idx]==32) sw=0;
  34.     }
  35. }
  36.  
  37. int main()
  38. {
  39.     char frase[]="RODrigo burGOS";
  40.     printf("Frase Natural      :[%s]\n",frase);
  41.     to_minusculas(frase);
  42.     printf("Frase Minusculas   :[%s]\n",frase);
  43.     to_mayusculas(frase);
  44.     printf("Frase Mayusculas   :[%s]\n",frase);
  45.     to_capitalize(frase);
  46.     printf("Frase Capitalize   :[%s]\n",frase);
  47.     return(0);
  48. }

La ejecucion de este proceso arrojara lo siguiente:



Frase Natural :[RODrigo burGOS]
Frase Minusculas :[rodrigo burgos]
Frase Mayusculas :[RODRIGO BURGOS]
Frase Capitalize :[Rodrigo Burgos]



Saludos