.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" .\" Se concede autorización para hacer y distribuir copias literales de este .\" manual siempre que el aviso de copyright y esta autorización se conserven .\" en todas las copias. .\" .\" Se concede autorización para copiar y distribuir versiones modificadas de .\" este manual bajo las condiciones de copia literal, siempre que el resultado .\" completo del trabajo realizado se distribuya bajo los términos de una .\" autorización idéntica a esta. .\" .\" Como el núcleo y las bibliotecas de Linux están permanentemente cambiando .\" esta página del manual puede ser incorrecta o estar desactualizada. El .\" autor o autores no asumen ninguna responsabilidad sobre los errores u .\" omisiones, o por los daños que resulten del uso de la información contenida .\" aquí. Puede que el autor o los autores no hayan tenido el mismo cuidado en .\" escribir este manual, cuya licencia es libre de cargo, como el que puedan .\" tener cuando trabajan profesionalmente. .\" .\" Versiones formatadas o procesadas de este manual, si no van acommpañadas .\" por la fuente, deben dar a conocer el copyright y los autores de este .\" trabajo. .\" .\" Referencias consultadas: .\" código fuente de libc de Linux .\" _Guía del programador de POSIX_ de Lewine (O'Reilly & Associates, 1991) .\" páginas del manual de 386BSD .\" Modificado el Domingo 25 de Julio de 1993 a las 10:53:39 por Rik Faith .\" (faith@cs.unc.edu) .\" Correcciones añadidas por to nsd@bbc.com (Nick Duffek) - aeb, 950610 .\" Traducido el Jueves 12 de Marzo de 1998 por Carlos Gomez Romero .\" (cgomez@databasedm.es) .TH STRTOL 3 "10 de Junio de 1995" "GNU" "Manual del Programador de Linux " .SH NOMBRE strtol \- convierte una cadena en un entero de tipo long. .SH SINOPSIS .nf .B #include .sp .BI "long int strtol(const char *" nptr ", char **" endptr ", int " base ); .fi .SH DESCRIPCIÓN La función \fBstrtol()\fP convierte la cadena de entrada \fInptr\fP en un valor entero de tipo long de acuerdo a la \fIbase\fP dada, que debe estar entre 2 y 36 ambos incluidos o ser el valor especial 0. .PP La cadena debe comenzar con una cantidad arbitraria de espacios en blanco, (tal y como los define la función .BR isspace (3)) seguida por un único y opcional signo `+' o `-'. Si la \fIbase\fP is 0 o 16, la cadena puede incluir el prefijo `0x', y el número será interpretado en base 16, en caso contrario la \fIbase\fP cero se toma como base 10 (decimal), a menos que el carácter siguiente sea `0', en cuyo caso se toma como base 8 (octal). .PP El resto de la cadena se convierte en un entero de tipo long de una forma evidente, parándose la conversión en el primer carácter que no es un dígito válido en la base dada. (En bases superiores a 10, la letra `A' en mayúsculas o minúsculas representa el 10, `B' representa el 11, y así sucesivamente, con la `Z' representando el 35.) .PP Si \fIendptr\fP no es NULL, \fBstrtol()\fP almacena la dirección del primer carácter no válido en \fI*endptr\fP. Si no hubiera dígitos en toda la cadena \fBstrtol()\fP almacena el valor original de \fInptr\fP en \fI*endptr\fP. (Por tanto, si \fI*nptr\fP no es `\\0' y \fI**endptr\fP es `\\0' al regresar la cadena completa es un número válido.) .SH "VALOR DEVUELTO" La función \fBstrtol()\fP devuelve el resultado de la conversión, a menos que el valor se desbordara por arriba o por abajo. Si ocurriera un desbordamiento inferior, \fBstrtol()\fP devuelve LONG_MIN. Si ocurriera un desbordamiento superior, \fBstrtol()\fP devuelve LONG_MAX. En ambos casos, \fIerrno\fP se establece a ERANGE. .SH "ERRORES" .TP .B ERANGE La cadena dada estaba fuera de rango. El valor convertido ha sido fijado. .SH "CONFORME A" SVID 3, BSD 4.3, ISO 9899 .SH "VÉASE TAMBIÉN" .BR atof "(3), " atoi "(3), " atol "(3), " strtod "(3), " strtoul (3) .SH FALLOS Ignora el escenario actual.