SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: kain en Jueves 6 de Marzo de 2003, 08:29
-
Existe alguna funcion en el estardar ANSI de C para comparar cadenas ignorando mayusculas y minusculas o habria que implementarla.
Salu2
-
En la librería ctype.h existen las funciones tolower() y toupper() que convierten cadenas a todo minúsculas y a todo mayúsculas respectivamente. Si conviertes la cadena completa a mayúsculas o a minúsculas obvias la forma en que se ha introducido.
Muchas suerte Kain!!!! :alien:
-
Bien... Las funciones tolower() y toupper() no son la mejor opcion... pues de usarlas se solo se combierte a minuscula y mayuscula respectivamente... para entonces comparar la cadena caracter por caracter... tedioso...
La solucion esta en la funcion (o mas bien macro) "strcmpi"... La cual compara las cadenas y si una es mas larga que la otra tambien lo dice... (Verificar si es soportada...)
Bien... aqui esta un archivo adjunto que muestra como usar esta macro y como interpretar sus valores de retorno... Este codigo fue probado en Turbo C++ 3.0 de Borland...
kain... espero que te sea util... y a todos los que tengan la misma inquietud... pues ahi esta... La repuesta esta en el viento...:hippi:
-
Solo una cosita, yo no me refería a que después de usar toupper() o tolower() comparara la cadena carácter a carácter, sino utilizando strcmp(), me pareció obvio y no lo dije.
De todas formas, he consultado la ayuda y desde luego la macro strcmpi es la mejor solución. Muchas gracias observador, no la conocía.;) :alien:
Como dicen: "Nunca te acostarás sin saber una cosa más".