Primer caracter de string c++

publicado por: Anonymous

buenas, me gustaría saber cuándo el primer caracter de un string es “#” y no sé qué función usar. ¿ALguien me puede ayudar?

solución

Una cadena de caracteres no es más que un array de caracteres (la clase std::string encapsula esta misma complejidad). Así pues, y teniendo en cuenta que los índices en C++ empiezan en 0 tienes todo un abanico de posibilidades a elegir:

std::string cadena = "ABCDEF";
std::cout << cadena[0]            // (1)
          << cadena.at(0)         // (2)
          << cadena.front()       // (3) 
          << *cadena.begin()      // (4)
          << *std::begin(cadena); // (5)
  1. Operador de índice
  2. at es similar al operador de índice. Comprueba que el índice es válido y si no lanza una excepción
  3. Acceso directo al primer caracter de la cadena
  4. Usando iteradores
  5. Otra forma de usar iteradores

Así pues para saber si el primer caracter es '#' basta con aplicar el operador de comparación a alguna de las opciones que acabamos de ver:

if( cadena.front() == '#' )
{
  // ...
}
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *