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.
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().