strchr()

strchr(<cadena de texto>, <carácteres>)

Retorna:

  -1 Si no se encontraron los carácteres dentro de la cadena.
  +n Si uno de los carácteres se encontró en la posición n de la cadena.

Descripción:

Busca uno o varios <carácteres> en una <cadena de texto>. Se recibe la cadena como primer parámetro y, como segundo, uno o varios carácteres en un literal (entre comillas).

Esta función determinará si la cadena contiene alguno de dichos carácteres y, en caso afirmativo, indicará en que posición aparece el carácter dentro de la cadena (de 0 en adelante). En caso de aparecer el carácter varias veces, la función siempre retornará la posición primera.

Programa ejemplo:
PROGRAM ejemplo_strchr;

GLOBAL
    STRING micadena="FGHIJK";
    posición;

BEGIN
    write(0,0,0,0,"Primera vocal de <micadena> en la posición:");

    posición=strchr(micadena,"AEIOU");

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


En este ejemplo se utiliza la función strchr() para que determine que la primera vocal de micadena se encuentra en la posición 3 de dicha cadena.


Siempre se puede acceder a los carácteres de un dato de tipo STRING como si este fuera una tabla de carácteres. Por ejemplo, para sustituir en el dato micadena del ejemplo anterior, el carácter "I" por un carácter "-" se podría utilizar la siguiente sentencia:

  micadena[3]=char("-");

Para convertir un carácter contenido en un literal en su valor ordinal (ASCII) se utiliza la función char().


Para determinar si una cadena esta completamente contenida en otra (si aparece como una subcadena dentro de la misma), se debe utilizar la función strstr().


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

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