int strnstr( const char * cadena, const char * subcadena )


Retorna:

 -1 // Si no se encontró la subcadena dentro de la cadena.
+n // Si se encontró en la posición n de la cadena de texto.

Descripción:

Busca la secuencia de carácteres contenida en la subcadena en una cadena de texto.

Esta función determinará si la cadena contiene a la subcadena (como "CASA" contiene "ASA") y, en caso afirmativo, indicará en que posición aparece la subcadena dentro de la cadena (de 0 en adelante, 1 en el ejemplo anterior). En caso de aparecer la subcadena varias veces, la función siempre retornará la posición primera.


char micadena[50]="Esta es una cadena de ejemplo.";
int posicion;

MAIN_PROGRAM_CDIV

BEGIN_PROGRAM
  // Definimos el modo gráfico
  set_gfx(GFX_AUTODETECT_WINDOWED);

  // Definimos la resolución
  set_mode(m640x480);

  posicion = strnstr(micadena,"es");

  write_int(0,0,10,0,OFFSET posicion);
  LOOP
   FRAME;
END_PROGRAM

En este ejemplo se utiliza la función strnstr() para que determine dónde se encuentra la subcadena "es" dentro de micadena. Retornará la posición 5, debido a que la función distingue entre mayúsculas y minúsculas, por lo que no se reconoce la subcadena "Es" (de "Esta") que se encuentra en la posición 0 de la cadena.

Para realizar conversiones entre mayúsculas y minúsculas, se pueden utilizar las funciones upper() y lower().

Para determinar si una cadena contiene algún carácter en concreto, se debe utilizar la función strnchr() que, además, permite buscar de una sola vez cualquier carácter dentro de un conjunto especificado.


Ver: upper() - lower() - strdel() - strcpy() - strcat() - strlen() - strcmp() - strnchr() - strset() - chartoint()