Sé que hay formas de hacer caso ignorar la comparación que implica iterar a través de cadenas o good one en SO necesita otra biblioteca. Necesito poner esto en otras computadoras que pueden no tenerlo instalado. ¿Hay alguna manera de usar las bibliotecas estándar para hacer esto? En este momento solo estoy haciendo ...Comparación de cadenas insensibles a mayúsculas y minúsculas C++
if (foo == "Bar" || foo == "bar")
{
cout << "foo is bar" << endl;
}
else if (foo == "Stack Overflow" || foo == "stack Overflow" || foo == "Stack overflow" || foo == "etc.")
{
cout << "I am too lazy to do the whole thing..." << endl;
}
Esto podría mejorar drásticamente la legibilidad y usabilidad de mi código. Gracias por leer hasta aquí.
¿No es? Incluso si no hubiera una forma integrada, podría * fácilmente * escribir una función para hacerlo en lugar de hacerlo de forma brutal forzando cada comparación individual. ¿Qué hay de malo en iterar a través de las cuerdas? Eso es lo que hará cualquier biblioteca que vayas a usar de todos modos. –
stricmp está disponible en todas partes. – arx
Qué bibliotecas estándar que están disponibles dependen de qué versión del compilador de C++ planee usar para compilar su binario. Por ejemplo, C++ 0x tiene soporte para expresiones regulares. Para compiladores más antiguos, puede usar stricmp. – Alan