BUSCAR
INDICE
INDICE DEL TEMA
OBJETIVOS
TEORIA
PALABRAS RESERVADAS
GLOSARIO
EJERCICIOS
RESUELTOS
AUTOEVALUACION
PROPUESTOS
ERRORES
ESTADISTICAS
INICIO
FAQS
LINKS
RECOMIENDANOS
QUIENES SOMOS
MAPA DEL WEB
COLABORAR
Tema 9 Librerías Estándar
Teoría: Manejo de cadenas <string.h>

char *strtok ( char *s1, const char *s2);

Una secuencia de llamadas a función strtok divide la cadena a la cual señala s1 en una secuencia de componentes léxicos, cada uno de los cuales queda delimitado por un carácter de la cadena a la cual señala s2. La primera llamada en la secuencia tiene como argumento s1, y es seguida por llamadas con un apuntador nulo como primer argumento. La cadena separadora a la cual señala s2 puede cambiar de llamada a llamada.

La primera llamada en la secuencia busca en la cadena a la cual señala s1 el primer carácter que no esté contenido en la cadena separadora actual a la cual señala s2. Si dicho carácter no se encuentra, entonces no existen componentes léxicos en la cadena a la cual señala s1 y la función strtok devuelve un apuntador nulo. Si se encuentra dicho carácter , ese es el inicio del primer componente léxico.

La función strtok a continuación busca a partir de ahí un carácter que esté contenido en la cadena separadora actual. Si no encuentra dicho carácter, el componente léxico actual se extiende hasta el fin de la cadena a la cual señala s1, y las búsquedas subsecuentes para un componente léxico devolverán un apuntador nulo. Si se encuentra dicho carácter, queda sobreescrito por un carácter nulo, lo cual da por terminado el componente léxico actual. La función strtok, guarda un apuntador al carácter siguiente, a partir del cual se iniciará el siguiente componente léxico.

Cada llamada subsiguiente, con un apuntador nulo como valor de su primer argumento, empieza a buscar a partir del apuntador guardado y se comporta como se describión anteriormente. La puesta en práctica debe comportarse como si ninguna función de biblioteca llama a la función strtok. La función strtok devuelve un apuntador al primer carácter de un componente léxico, o a un apuntador nulo si tal componente no existe.

void *memset ( void *s, int c, size_t n);

La función memset copia el valor de c (convertido a un unsigned char) a cada uno de los primeros n caracteres en el objeto al cual señala s. La función memset devuelve el valor de s.

char *strerror ( int errnum);

La función strerror relocaliza el número de error en errnum a una cadena de mensaje de error. La puesta en práctica deberá comportarse como si ninguna función de biblioteca llama a la función strerror. La función strerror devuelve un apuntador a la cadena , el contenido de la cual está definido por la puesta en práctica. El arreglo al cual se apunta no debe modificarse por el programa, que pudiera ser sobreescrito debido a una llamada subsiguiente a la función strerror.

size_t strlen ( const char *s);

La función strlen computa la longitud de la cadena a la cual señala s. La función strlen devuelve el número de caracteres que anteceden al carácter nulo de terminación.