strstr()

strstr(<cadena de texto>, <subcadena>)

Retorna:

  -1 Si no se encontraró 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.

Programa ejemplo:
PROGRAM ejemplo_strstr;

GLOBAL
    STRING micadena="Esta es una cadena de ejemplo.";
    posición;

BEGIN

    posición=strstr(micadena,"es");

    write_int(0,0,10,0,OFFSET posición);
    LOOP
        FRAME;
    END
END


En este ejemplo se utiliza la función strstr() 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 strchr() que, además, permite buscar de una sola vez cualquier carácter dentro de un conjunto especificado.


Ver: strcpy() - strcat() - strlen() - strcmp() - strchr()

- strset() - upper() - lower() - strdel()