int strnchr( const char * cadena, int carácter );
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 un carácter en una cadena de texto.
Se recibe la cadena como primer parámetro y, como segundo, un carácter en
un literal (entre comillas).
Esta función determinará si la cadena contiene algun 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.
char micadena[50]="AEIOU"; int posicion; MAIN_PROGRAM_CDIV BEGIN_PROGRAM // Definimos el modo gráfico set_gfx(GFX_AUTODETECT_WINDOWED); // Definimos la resolución set_mode(m640x480); write(0,0,0,0,"Primera vocal de <micadena> en la posición:"); posicion = strnchr(micadena,'I'); write_int(0,0,10,0,OFFSET posicion); LOOP FRAME; END_PROGRAM
En este ejemplo se utiliza la función strnchr() para que determine que
la vocal 'I' de micadena se encuentra en la posición 2 de
dicha cadena.
Siempre se puede acceder a los carácteres de un dato de tipo (char *)
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] = '-';
Ver: chartoint() - upper() - lower() - strdel() - strcpy() - strcat() - strlen() - strcmp() - strnchr() - strset()