Post on 26-Feb-2018
7/25/2019 Bibliotecas de C
1/47
UNIVERSIDAD TECNOLGICA DE PANAM
FACULTAD DE INGENIERA DE SISTEMAS COMPUTACIONALES
PROGRAMACION APLICADA I
BIBLIOTECA ESTNDAR DEL C
PROF. Dra. ADDYS DE LAM
INTEGRANTES
ACEVEDO, LAUREN 8-845-560
MARTINEZ, MAURICIO 8-841-472
PAU, RICARDO
RODRIGUEZ, DAN 8-845-1130
VIVAR, LUIS E. 8-857-210
GRUPO: 1-IL-122
20 DE ABRIL DE 2011
7/25/2019 Bibliotecas de C
2/47
Biblioteca Estndar del C 2011
2
ndice
Introduccin y objetivos 3
La biblioteca estndar del C.. 4
La librera Stdio.h 8
La librera Conio.h. 14
La librera Ctype.h. 16
La librera Stdlib.h 21
La librera String.h. 26
La librera Time.h.. 30
La librera Math.h. 41
Programa Ejemplo . 43
Conclusiones 46
Bibliografa y Web-grafa.. 47
7/25/2019 Bibliotecas de C
3/47
Biblioteca Estndar del C 2011
3
Introduccin
En el mundo actual, las tecnologas avanzan de forma impresionante a
cada segundo, y nosotros somos los que vamos a seguir con este avance.
Empezando el curso de nuestras vidas y fundando las bases de nuestra
informacin en el tema de la programacin as como la lgica que utilizaremos
en trabajos futuros tendemos el gusto de presentarles la presente investigacin
sobre La Biblioteca Estndar del C, la cual pasaremos a definir posteriormente.
Este proyecto no solo presenta aspectos del tema sino que tambin, profundiza
en sus subdivisiones y mtodos que estn poseen, dando as explicaciones,
trucos y ejemplos de los mtodos propuestos.
Objetivos
Entre los objetivos tenemos:
Conocer que es la biblioteca estndar de C
Determinar cules son las libreras que se encuentran dentro de esta. Mostrar todas las funciones que nos presenta el C, con sus respectivas
funciones.
7/25/2019 Bibliotecas de C
4/47
Biblioteca Estndar del C 2011
4
La Biblioteca Estndar de C
La biblioteca estndar de Ces una recopilacin de ficheros cabecera ybibliotecas con rutinas, estandarizadas por un comit de la Organizacin
Internacional para la Estandarizacin (ISO), que implementan operaciones
comunes, tales como las de entrada y salida o el manejo de cadenas. A
diferencia de otros lenguajes como COBOL, FORTRAN, o PL/I, C no incluye
palabras clave para estas tareas, por lo que prcticamente todo programa
implementado en C se basa en la biblioteca estndar para funcionar.
Diseo
El nombre y las caractersticas de cada funcin, el prototipo, as como la
definicin de algunos tipos de datos y macros, se encuentran en un fichero
denominado archivo de cabecera (con extensin ".h"), pero la implementacinreal de las funciones estn separadas en un archivo de la biblioteca. La
denominacin y el mbito de las cabeceras se han convertido en comunes,
pero la organizacin de las bibliotecas sigue siendo diversa, ya que stas
suelen distribuirse con cada compilador. Dado que los compiladores de C, a
menudo, ofrecen funcionalidades adicionales que no estn especificados en
el ANSI C, la biblioteca de un compilador no siempre es compatible con el
estndar ni con las bibliotecas de otros compiladores.
Calidad del diseo
Est demostrado que la mayor parte de la biblioteca estndar de C ha sido bien
diseada, aunque, se ha comprobado que algunas partes tambin son fuente
de errores; funciones para entrada de cadenas como gets()o scanf(),
producen desbordamientos de buffer, y muchas guas de programacin
recomiendan evitar su uso. La funcin strtok()presenta otra singularidad, est
diseada para ser utilizada como un analizador lxico rudimentario, pero
resulta difcil de utilizar adems de ser muy frgil.
El estndar ANSI
La biblioteca estndar de ANSI C consta de 24 ficheros cabecera que pueden
ser incluidos en un proyecto de programacin con una simple directiva. Cada
cabecera contiene la declaracin de una o ms funciones,tipos de
datos ymacros.
En comparacin con otros lenguajes de programacin (como por ejemploJava)
la biblioteca estndar es muy pequea, est proporciona un conjunto bsico de
funciones matemticas, de tratamiento de cadenas, conversiones de tipo y
http://es.wikipedia.org/wiki/Tipo_de_datohttp://es.wikipedia.org/wiki/Tipo_de_datohttp://es.wikipedia.org/wiki/Macrohttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Javahttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Javahttp://es.wikipedia.org/wiki/Macrohttp://es.wikipedia.org/wiki/Tipo_de_datohttp://es.wikipedia.org/wiki/Tipo_de_dato7/25/2019 Bibliotecas de C
5/47
Biblioteca Estndar del C 2011
5
entrada/salida porconsola o por ficheros. No se incluyen, ni un conjunto de
tipos de datos contenedores bsicos (listas, pilas, colas, ...), ni herramientas
para crear unainterfaz grfica de usuario (GUI), ni operaciones para trabajar en
red, no otras funcionalidades que un lenguaje como Java incorpora de manera
estndar. La principal ventaja del reducido tamao de la biblioteca estndar de
C es que construir un entorno de trabajo en ANSI C es muy fcil y, en
consecuencia, portar un programa en ANSI C de una plataforma a otra es
relativamente sencillo.
Se han desarrollado muchas otras bibliotecas para proporcionar una
funcionalidad equivalente a la de otros lenguajes de programacin. Por
ejemplo, el proyecto de desarrollo delentorno de escritorio deGNOME cre las
bibliotecasGTK+ yGLib con funcionalidades para desarrollar y trabajar con
interfaces grficas de usuario. La variedad de bibliotecas disponibles ha hecho
que, a lo largo de la historia, haya quedado demostrada la superioridad de
algunas de estas herramientas. El gran inconveniente es que a menudo no
funcionan especialmente bien en conjunto, normalmente son los propios
programadores familiarizados con las diferentes bibliotecas quienes consiguen
sacarles el mximo partido, aunque diferentes partes de ellas puedan estar
disponibles en cualquier plataforma.La biblioteca estndar de C en C++
El lenguaje de programacinC++ incluye la funcionalidad de la biblioteca
estndar ANSI C, pero hace algunas modificaciones como cambiar los
nombres de los ficheros de cabecera, de a (aunque los
nombres en estilo C, aun siendo obsoletos, siguen estando disponibles), y
ubican todos losidentificadores dentro delnamespace std.
Archivos de cabeceras de la biblioteca ANSI C
Contiene la macroassert (asercin), utilizada para detectarerrores lgicos y otros tipos de fallos en ladepuracin de unprograma.
Conjunto de funciones para manipularnmeroscomplejos (nuevo en C99).
http://es.wikipedia.org/wiki/Consolahttp://es.wikipedia.org/wiki/Interfaz_gr%C3%A1fica_de_usuariohttp://es.wikipedia.org/wiki/Entorno_de_escritoriohttp://es.wikipedia.org/wiki/GNOMEhttp://es.wikipedia.org/wiki/GTK%2Bhttp://es.wikipedia.org/wiki/GLibhttp://es.wikipedia.org/wiki/C%2B%2Bhttp://es.wikipedia.org/wiki/Identificadorhttp://es.wikipedia.org/wiki/Namespacehttp://es.wikipedia.org/wiki/Assert.hhttp://es.wikipedia.org/wiki/Aserci%C3%B3nhttp://es.wikipedia.org/wiki/Depuraci%C3%B3n_de_programashttp://es.wikipedia.org/wiki/Complex.hhttp://es.wikipedia.org/wiki/N%C3%BAmero_complejohttp://es.wikipedia.org/wiki/N%C3%BAmero_complejohttp://es.wikipedia.org/wiki/N%C3%BAmero_complejohttp://es.wikipedia.org/wiki/N%C3%BAmero_complejohttp://es.wikipedia.org/wiki/Complex.hhttp://es.wikipedia.org/wiki/Depuraci%C3%B3n_de_programashttp://es.wikipedia.org/wiki/Aserci%C3%B3nhttp://es.wikipedia.org/wiki/Assert.hhttp://es.wikipedia.org/wiki/Namespacehttp://es.wikipedia.org/wiki/Identificadorhttp://es.wikipedia.org/wiki/C%2B%2Bhttp://es.wikipedia.org/wiki/GLibhttp://es.wikipedia.org/wiki/GTK%2Bhttp://es.wikipedia.org/wiki/GNOMEhttp://es.wikipedia.org/wiki/Entorno_de_escritoriohttp://es.wikipedia.org/wiki/Interfaz_gr%C3%A1fica_de_usuariohttp://es.wikipedia.org/wiki/Consola7/25/2019 Bibliotecas de C
6/47
Biblioteca Estndar del C 2011
6
Contiene funciones para clasificar caracteres segn sus tipos opara convertir entre maysculas y minsculasindependientemente delconjunto decaracteres (tpicamenteASCII o alguna de sus extensiones).
Para testar los cdigos de error devueltos por las funciones debiblioteca.
Para controlar entornos encoma flotante (nuevo en C99).
Contiene la definicin de constantes que especifican ciertaspropiedades de la biblioteca de coma flotante, como la diferencia
mnima entre dos nmeros en coma flotante (_EPSOLON), elnmero mximo de dgitos de precisin (_DIG), o el rango devalores que se pueden representar (_MIN, _MAX).
Para operaciones de conversin con precisin entre tiposenteros (nuevo en C99).
Para utilizar los conjuntos de caracteresISO 646 (nuevo enNA1).
Contiene la definicin de constantes que especifican ciertaspropiedades de los tipos enteros, como rango de valores que sepueden representar (_MIN, _MAX).
Para la funcin setlocale() y las constantes relacionadas. Seutiliza para seleccionar el entorno localapropiado (configuracinregional).
Contiene las funciones matemticas comunes.
Declara las macros setjmp y longjmp para proporcionar saltos deflujo de control de programa no locales.
Para controlar algunas situaciones excepcionales como ladivisin por cero.
posibilita el acceso a una cantidad variable de argumentos
http://es.wikipedia.org/wiki/Ctype.hhttp://es.wikipedia.org/wiki/Conjunto_de_caractereshttp://es.wikipedia.org/wiki/Conjunto_de_caractereshttp://es.wikipedia.org/wiki/C%C3%B3digo_ASCIIhttp://es.wikipedia.org/wiki/Errno.hhttp://es.wikipedia.org/w/index.php?title=Fenv.h&action=edit&redlink=1http://es.wikipedia.org/wiki/Coma_flotantehttp://es.wikipedia.org/w/index.php?title=Float.h&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Inttypes.h&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Iso646.h&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=ISO_646&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Limits.h&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Locale.h&action=edit&redlink=1http://es.wikipedia.org/wiki/Math.hhttp://es.wikipedia.org/w/index.php?title=Setjmp.h&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Signal.h&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Stdarg.h&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Stdarg.h&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Signal.h&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Setjmp.h&action=edit&redlink=1http://es.wikipedia.org/wiki/Math.hhttp://es.wikipedia.org/w/index.php?title=Locale.h&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Limits.h&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=ISO_646&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Iso646.h&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Inttypes.h&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Float.h&action=edit&redlink=1http://es.wikipedia.org/wiki/Coma_flotantehttp://es.wikipedia.org/w/index.php?title=Fenv.h&action=edit&redlink=1http://es.wikipedia.org/wiki/Errno.hhttp://es.wikipedia.org/wiki/C%C3%B3digo_ASCIIhttp://es.wikipedia.org/wiki/Conjunto_de_caractereshttp://es.wikipedia.org/wiki/Conjunto_de_caractereshttp://es.wikipedia.org/wiki/Ctype.h7/25/2019 Bibliotecas de C
7/47
Biblioteca Estndar del C 2011
7
pasados a una funcin.
Para el tipobooleano (nuevo en C99).
Para definir variostipos enteros (nuevo en C99).
Para definir varios tipos de macros de utilidad.
Proporciona el ncleo de las capacidades de entrada/salida dellenguaje C (incluye la venerable funcinprintf).
Para realizar ciertas operaciones como conversin de tipos,generacin de nmeros pseudo-aleatorios, gestin de memoriadinmica, control de procesos, funciones de entorno, desealizacin (??), de ordenacin y bsqueda.
Para manipulacin decadenas de caracteres.
Contiene funcionalidades matemticas de tipo genrico (type-generic) (nuevo en C99).
Para tratamiento y conversin entre formatos de fecha y hora.
Para manipular flujos de datos anchos y varias clases decadenas de caracteres anchos (2 o ms bytes por carcter),necesario para soportar caracteres de diferentes idiomas (nuevoen NA1).
Para clasificar caracteres anchos (nuevo en NA1).
Ahora profundizaremos en las siguientes libreras:
http://es.wikipedia.org/w/index.php?title=Stdbool.h&action=edit&redlink=1http://es.wikipedia.org/wiki/Tipo_de_dato_l%C3%B3gicohttp://es.wikipedia.org/w/index.php?title=Stdint.h&action=edit&redlink=1http://es.wikipedia.org/wiki/Tipo_de_dato_enterohttp://es.wikipedia.org/w/index.php?title=Stddef.h&action=edit&redlink=1http://es.wikipedia.org/wiki/Stdio.hhttp://es.wikipedia.org/wiki/Printfhttp://es.wikipedia.org/wiki/Stdlib.hhttp://es.wikipedia.org/wiki/String.hhttp://es.wikipedia.org/wiki/Cadena_de_caractereshttp://es.wikipedia.org/w/index.php?title=Tgmath.h&action=edit&redlink=1http://es.wikipedia.org/wiki/Time.hhttp://es.wikipedia.org/w/index.php?title=Wchar.h&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Wctype.h&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Wctype.h&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Wchar.h&action=edit&redlink=1http://es.wikipedia.org/wiki/Time.hhttp://es.wikipedia.org/w/index.php?title=Tgmath.h&action=edit&redlink=1http://es.wikipedia.org/wiki/Cadena_de_caractereshttp://es.wikipedia.org/wiki/String.hhttp://es.wikipedia.org/wiki/Stdlib.hhttp://es.wikipedia.org/wiki/Printfhttp://es.wikipedia.org/wiki/Stdio.hhttp://es.wikipedia.org/w/index.php?title=Stddef.h&action=edit&redlink=1http://es.wikipedia.org/wiki/Tipo_de_dato_enterohttp://es.wikipedia.org/w/index.php?title=Stdint.h&action=edit&redlink=1http://es.wikipedia.org/wiki/Tipo_de_dato_l%C3%B3gicohttp://es.wikipedia.org/w/index.php?title=Stdbool.h&action=edit&redlink=17/25/2019 Bibliotecas de C
8/47
Biblioteca Estndar del C 2011
8
La librera stdio.h
La biblioteca , cuyas siglas significan standard input-output header
(cabecera standar de entrada y salida), es labiblioteca estndar dellenguaje
de programacinC, elarchivo de cabecera que contiene las definiciones
demacros, lasconstantes, las declaraciones de funciones y la definicin
detipos usados por varias operaciones estndar de entrada y salida. Por
motivos de compatibilidad, el lenguaje de programacinC++ (derivado de C)
tambin tiene su propia implementacin de estas funciones, que son
declaradas con el archivo de cabecera cstdio.
Las funciones declaradas en stdio.h son sumamente populares. Los
programadores tienen que incluir el archivo de cabecera stdio.hdentro del
cdigo fuente para poder utilizar las funciones que estn declaradas. Aparte de
las funciones tambin encontramos variables y tipos de dato propios de la
biblioteca que se pasaran a definir a continuacin:
Funciones en la
Las funciones declaradas en stdio.h pueden clasificarse en dos categoras:
funciones de manipulacin de ficheros y funciones de manipulacin deentradas y salidas.
Las funciones de manipulacin de puntero que encontramos en la stdio.h
son:
Nombre Descripcin
fclose cierra un fichero a travs de su puntero
fopen,
freopen,
fdopen
abre un fichero para lectura, para escritura/reescritura o para adicin
remove elimina un fichero
rename cambia al fichero de nombre
http://es.wikipedia.org/wiki/Biblioteca_est%C3%A1ndar_de_Chttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3nhttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3nhttp://es.wikipedia.org/wiki/Chttp://es.wikipedia.org/wiki/Headershttp://es.wikipedia.org/wiki/Macrohttp://es.wikipedia.org/wiki/Constante_(programaci%C3%B3n)http://es.wikipedia.org/wiki/Tipo_de_datohttp://es.wikipedia.org/wiki/C%2B%2Bhttp://es.wikipedia.org/w/index.php?title=Fclose&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Remove&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Remove&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Rename_(C)&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Rename_(C)&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Remove&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Fclose&action=edit&redlink=1http://es.wikipedia.org/wiki/C%2B%2Bhttp://es.wikipedia.org/wiki/Tipo_de_datohttp://es.wikipedia.org/wiki/Constante_(programaci%C3%B3n)http://es.wikipedia.org/wiki/Macrohttp://es.wikipedia.org/wiki/Headershttp://es.wikipedia.org/wiki/Chttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3nhttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3nhttp://es.wikipedia.org/wiki/Biblioteca_est%C3%A1ndar_de_C7/25/2019 Bibliotecas de C
9/47
Biblioteca Estndar del C 2011
9
rewind La funcin rewind coloca el indicador de posicin de fichero para el streamapuntado por stream al comienzo del fichero.
tmpfile
crea y abre un fichero temporal que es borrado cuando cerramos con lafuncin fclose()
Las funciones de manipulacin de datos de entrada y salida que
encontramos en esta biblioteca son cerca de 44 funciones representadas en la
siguiente tabla:
clearerr fclose feof ferror
fflush fgetc fgetpos fgets
fopen formato fprintf fputcfputs fread freopen fscanffseek fsetpos ftell fwrite
getc getchar gets perror
printf putc putchar puts
remove rename rewind scanf
setbuf setvbuf sprintf sscanftmpfile tmpnam ungetc vfprintf
vprintf vsprintf
Dentro de estas funciones se destacan las funciones: getchar, putc, putchar,
getc, gets, puts, fflush, scanf, printf, debido a que estn se usan con mayor
frecuencia en los programas en C.
getchar ( ): esta funcin se utiliza para leer solo uncarcter introducidopor un dispositivo de entrada.
o Formato: Variable de carcter = getchar ( );
getc( ): devuelve un carcter desde un fichero. putchar( ): esta funcin se utiliza para visualizar un carcter al
dispositivo de salida.
o Formato: putchar(variable de carcter);
putc( ) : devuelve un carcter de un fichero. scanf( ): se utiliza para introducir cualquier combinacin de datos
procedentes del dispositivo (valores numricos, cadenas de caracteres o
caracteres sueltos).
o Formato: scanf(cadena de control, arg1, arg2, , arg n )
printf( ): se utiliza para visualizar cualquier combinacin de datos(valores numricos, cadenas de caracteres o caracteres sueltos).
o Formato: printf(cadena de control, arg1,arg2,, arg n);
http://es.wikipedia.org/w/index.php?title=Rewind_(C)&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Tmpfile&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Tmpfile&action=edit&redlink=1http://c.conclase.net/librerias/?ansifun=clearerr#iniciohttp://c.conclase.net/librerias/?ansifun=fclose#iniciohttp://c.conclase.net/librerias/?ansifun=feof#iniciohttp://c.conclase.net/librerias/?ansifun=feof#iniciohttp://c.conclase.net/librerias/?ansifun=ferror#iniciohttp://c.conclase.net/librerias/?ansifun=fflush#iniciohttp://c.conclase.net/librerias/?ansifun=fgetc#iniciohttp://c.conclase.net/librerias/?ansifun=fgetpos#iniciohttp://c.conclase.net/librerias/?ansifun=fgets#iniciohttp://c.conclase.net/librerias/?ansifun=fopen#iniciohttp://c.conclase.net/librerias/?ansifun=formato#iniciohttp://c.conclase.net/librerias/?ansifun=fprintf#iniciohttp://c.conclase.net/librerias/?ansifun=fprintf#iniciohttp://c.conclase.net/librerias/?ansifun=fputc#iniciohttp://c.conclase.net/librerias/?ansifun=fputs#iniciohttp://c.conclase.net/librerias/?ansifun=fread#iniciohttp://c.conclase.net/librerias/?ansifun=freopen#iniciohttp://c.conclase.net/librerias/?ansifun=fscanf#iniciohttp://c.conclase.net/librerias/?ansifun=fscanf#iniciohttp://c.conclase.net/librerias/?ansifun=fseek#iniciohttp://c.conclase.net/librerias/?ansifun=fsetpos#iniciohttp://c.conclase.net/librerias/?ansifun=ftell#iniciohttp://c.conclase.net/librerias/?ansifun=fwrite#iniciohttp://c.conclase.net/librerias/?ansifun=fwrite#iniciohttp://c.conclase.net/librerias/?ansifun=getc#iniciohttp://c.conclase.net/librerias/?ansifun=getc#iniciohttp://c.conclase.net/librerias/?ansifun=getchar#iniciohttp://c.conclase.net/librerias/?ansifun=gets#iniciohttp://c.conclase.net/librerias/?ansifun=gets#iniciohttp://c.conclase.net/librerias/?ansifun=perror#iniciohttp://c.conclase.net/librerias/?ansifun=printf#iniciohttp://c.conclase.net/librerias/?ansifun=printf#iniciohttp://c.conclase.net/librerias/?ansifun=putc#iniciohttp://c.conclase.net/librerias/?ansifun=putchar#iniciohttp://c.conclase.net/librerias/?ansifun=puts#iniciohttp://c.conclase.net/librerias/?ansifun=remove#iniciohttp://c.conclase.net/librerias/?ansifun=rename#iniciohttp://c.conclase.net/librerias/?ansifun=rewind#iniciohttp://c.conclase.net/librerias/?ansifun=rewind#iniciohttp://c.conclase.net/librerias/?ansifun=scanf#iniciohttp://c.conclase.net/librerias/?ansifun=scanf#iniciohttp://c.conclase.net/librerias/?ansifun=setbuf#iniciohttp://c.conclase.net/librerias/?ansifun=setvbuf#iniciohttp://c.conclase.net/librerias/?ansifun=setvbuf#iniciohttp://c.conclase.net/librerias/?ansifun=sprintf#iniciohttp://c.conclase.net/librerias/?ansifun=sprintf#iniciohttp://c.conclase.net/librerias/?ansifun=sscanf#iniciohttp://c.conclase.net/librerias/?ansifun=sscanf#iniciohttp://c.conclase.net/librerias/?ansifun=tmpfile#iniciohttp://c.conclase.net/librerias/?ansifun=tmpnam#iniciohttp://c.conclase.net/librerias/?ansifun=ungetc#iniciohttp://c.conclase.net/librerias/?ansifun=vfprintf#iniciohttp://c.conclase.net/librerias/?ansifun=vfprintf#iniciohttp://c.conclase.net/librerias/?ansifun=vprintf#iniciohttp://c.conclase.net/librerias/?ansifun=vprintf#iniciohttp://c.conclase.net/librerias/?ansifun=vsprintf#iniciohttp://c.conclase.net/librerias/?ansifun=vsprintf#iniciohttp://c.conclase.net/librerias/?ansifun=vsprintf#iniciohttp://c.conclase.net/librerias/?ansifun=vprintf#iniciohttp://c.conclase.net/librerias/?ansifun=vfprintf#iniciohttp://c.conclase.net/librerias/?ansifun=ungetc#iniciohttp://c.conclase.net/librerias/?ansifun=tmpnam#iniciohttp://c.conclase.net/librerias/?ansifun=tmpfile#iniciohttp://c.conclase.net/librerias/?ansifun=sscanf#iniciohttp://c.conclase.net/librerias/?ansifun=sprintf#iniciohttp://c.conclase.net/librerias/?ansifun=setvbuf#iniciohttp://c.conclase.net/librerias/?ansifun=setbuf#iniciohttp://c.conclase.net/librerias/?ansifun=scanf#iniciohttp://c.conclase.net/librerias/?ansifun=rewind#iniciohttp://c.conclase.net/librerias/?ansifun=rename#iniciohttp://c.conclase.net/librerias/?ansifun=remove#iniciohttp://c.conclase.net/librerias/?ansifun=puts#iniciohttp://c.conclase.net/librerias/?ansifun=putchar#iniciohttp://c.conclase.net/librerias/?ansifun=putc#iniciohttp://c.conclase.net/librerias/?ansifun=printf#iniciohttp://c.conclase.net/librerias/?ansifun=perror#iniciohttp://c.conclase.net/librerias/?ansifun=gets#iniciohttp://c.conclase.net/librerias/?ansifun=getchar#iniciohttp://c.conclase.net/librerias/?ansifun=getc#iniciohttp://c.conclase.net/librerias/?ansifun=fwrite#iniciohttp://c.conclase.net/librerias/?ansifun=ftell#iniciohttp://c.conclase.net/librerias/?ansifun=fsetpos#iniciohttp://c.conclase.net/librerias/?ansifun=fseek#iniciohttp://c.conclase.net/librerias/?ansifun=fscanf#iniciohttp://c.conclase.net/librerias/?ansifun=freopen#iniciohttp://c.conclase.net/librerias/?ansifun=fread#iniciohttp://c.conclase.net/librerias/?ansifun=fputs#iniciohttp://c.conclase.net/librerias/?ansifun=fputc#iniciohttp://c.conclase.net/librerias/?ansifun=fprintf#iniciohttp://c.conclase.net/librerias/?ansifun=formato#iniciohttp://c.conclase.net/librerias/?ansifun=fopen#iniciohttp://c.conclase.net/librerias/?ansifun=fgets#iniciohttp://c.conclase.net/librerias/?ansifun=fgetpos#iniciohttp://c.conclase.net/librerias/?ansifun=fgetc#iniciohttp://c.conclase.net/librerias/?ansifun=fflush#iniciohttp://c.conclase.net/librerias/?ansifun=ferror#iniciohttp://c.conclase.net/librerias/?ansifun=feof#iniciohttp://c.conclase.net/librerias/?ansifun=fclose#iniciohttp://c.conclase.net/librerias/?ansifun=clearerr#iniciohttp://es.wikipedia.org/w/index.php?title=Tmpfile&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Rewind_(C)&action=edit&redlink=17/25/2019 Bibliotecas de C
10/47
Biblioteca Estndar del C 2011
10
gets( ): facilitan la transferencia de cadenas de caracteres, esta funcinse utiliza para introducir una cadena de caracteres.
o Formato: gets(cadena de caracteres);
puts( ):facilitan la transferencia de cadenas de caracteres, esta funcin
se utiliza para mostrar una cadena de caracteres.o Formato: puts(cadena de caracteres);
fflush( ): Sirve para vaciar el buffer de escritura del archivo especificado.
Constantes predeterminadas en la
Las constantes definidas en el fichero cabecera stdio.h son:
Nombre Descripcin
EOF entero negativo (int) usado para indicar "fin de fichero"
BUFSIZ entero que indica el tamao delbuffer utilizado por lafuncin setbuf()
FILENAME_MAX tamao mximo de lacadena de caracteres que contienenel nombre de un fichero para ser abierto
FOPEN_MAX Nmero mximo de ficheros que pueden estar abiertossimultneamente
_IOFBF abreviatura de input/output fully buffered(bufferentrada/salida totalmente lleno); es un entero que se puedepasar como parmetro de la funcin setvbuf() pararequerirbloqueo del bufferen la entrada y salidadelstream abierto
_IOLBF abreviatura de input/output line buffered(...??); es unentero que se puede pasar como parametro a lafuncin setvbuf() para requerir line buffered (??)en laentrada y salida delstream abierto
_IONBF abreviatura de "input/output not buffered" (entrada/salidasin buffer); es un entero que se puede pasar comoparametro a la funcin setvbuf() para requerir que laentrada salida del stream abierto funcione sin buffer
http://es.wikipedia.org/wiki/EOFhttp://es.wikipedia.org/wiki/EOFhttp://es.wikipedia.org/wiki/Bufferhttp://es.wikipedia.org/wiki/Cadena_de_caractereshttp://es.wikipedia.org/w/index.php?title=Stream&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Stream&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Stream&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Stream&action=edit&redlink=1http://es.wikipedia.org/wiki/Cadena_de_caractereshttp://es.wikipedia.org/wiki/Bufferhttp://es.wikipedia.org/wiki/EOF7/25/2019 Bibliotecas de C
11/47
Biblioteca Estndar del C 2011
11
L_tmpnam tamao de la cadena de caractres con la longitud suficientepara almacenar un nombre de fichero temporal generadopor la funcin tmpnam()
NULL macro que representa la constantepuntero nulo;representaun valor de puntero que no apunta a ninguna direccinvlida de objeto alguno en memoria
SEEK_CUR entero que se puede pasar como parmetro a lafuncin fseek() para indicar posicionamiento relativo a laposicin actual del fichero
SEEK_END entero que se puede pasar como parmetro a lafuncin fseek() para indicar posicionamiento relativo al finaldel fichero
SEEK_SET entero que se puede pasar como parmetro a lafuncin fseek() para indicar posicionamiento relativo alinicio del fichero
TMP_MAX el nmero mximo de nombres de ficheros nicosgenerables por la funcin tmpnam()
Variables que podemos encontrar en la
El fichero de cabecera stdio.h define las siguientes variables:
Nombre Descripcin
stdin
puntero a FILE que referencia la entrada estndar, normalmente elteclado
stdout puntero a FILE que referencia la salida estndar, normalmente elmonitor
stderr puntero a FILE que referencia la salida de error estndar,normalmente el monitor
http://es.wikipedia.org/w/index.php?title=Puntero_nulo&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Stdin&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Stdin&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Stdout&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Stderr&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Stderr&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Stdout&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Stdin&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Puntero_nulo&action=edit&redlink=17/25/2019 Bibliotecas de C
12/47
Biblioteca Estndar del C 2011
12
Tipos de datos
Lostipos de datos definidos en el fichero de cabecera stdio.h son:
FILE- estructura que contiene informacin sobre el fichero o stream ( flujo)
de texto necesario para realizar las operaciones de entrada/salida sobre l.
incluye:
posicin actual de stream
indicador de fin de fichero (EOF)
indicador de error
puntero al buffer del stream fpos_t- tipo no-arraycapaz de identificar unvocamente la posicin de
cadabyte en un archivo
size_t- tipo entero sin signo (positivo); es el tipo devuelto por el
operadorsizeof
Ejemplos
Ejemplo No.1:
#include main()
{inta, b;printf( "Introduzca el primer nmero: ");scanf( "%d", &a );printf( "Introduzca el segundo numero: ");
scanf( "%d", &b );printf( "Los valores son: %d, %d ", a, b );
}
Introduzca el primer nmero: 76Introduzca el segundo numero: 45Los valores son: 76, 45
http://es.wikipedia.org/wiki/Tipo_de_datohttp://es.wikipedia.org/wiki/EOFhttp://es.wikipedia.org/wiki/Bytehttp://es.wikipedia.org/w/index.php?title=Sizeof&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Sizeof&action=edit&redlink=1http://es.wikipedia.org/wiki/Bytehttp://es.wikipedia.org/wiki/EOFhttp://es.wikipedia.org/wiki/Tipo_de_dato7/25/2019 Bibliotecas de C
13/47
Biblioteca Estndar del C 2011
13
Ejemplo No. 2:
#include main(){
chara, b, c;printf( "Introduzca primer caracter: ");scanf( "%c", &a );printf( "Introduzca segundo caracter: ");fflush( stdin );scanf( "%c", &b );printf( "Introduzca tercer caracter: ");
fflush( stdin );scanf( "%c", &c );printf( "Los valores son: %c, %c, %c ", a, b, c );
}
La primera vez que se ejecuta scanf, el buffer del teclado est vaco, por tanto, no espreciso utilizar fflush, pero s, en los dos casos posteriores. Obsrvese que,a fflushhay que indicarle el buffer a limpiar, Standar Input(stdin) en este caso.
7/25/2019 Bibliotecas de C
14/47
Biblioteca Estndar del C 2011
14
La librera Conio.h
Contiene los prototipos de las funciones, macros, y constantes para preparar ymanipular la consola en modo texto en el entorno de MS-DOS.
Funciones ms importantes de la gotoxy (columna, fila)
Sita el cursor en la columna y fila especificada. Por ejemplo, esta instruccin:
gotoxy (5, 2);
sita el cursor en la fila 2, columna 5 de la pantalla. La siguiente instruccinde escritura en consola comenzar a escribir a partir de esas coordenadas.
cprintf() y cscanf()Son las equivalentes a printf() y scanf(). Su sintaxis es la misma, y esrecomendable usarlas en lugar de las funciones estndar para evitarfuncionamientos extraos.
textcolor(color)
Cambia el color del texto. Los colores predefinidos son: BLACK, BLUE, RED,GREEN, CYAN, MAGENTA, BROWN, DARKGRAY. Adems, existen lasvariedades claras de estos colores: LIGHTBLUE, LIGHTRED, LIGHTGREEN,etc.
As, si ejecutamos:
textcolor (LIGHTRED);
el texto que se escriba a continuacin aparecer el color rojo intenso.
textbackground (color)
Establece el color del fondo del texto. Los colores predefinidos son los mismosque para textcolor(). As, este cdigo:
textbackground (BLUE);
hace que el texto que se escriba a continuacin aparezca con el fondo encolor azul oscuro.
cgets
Esta funcin leer una cadena de caracteres desde la consola, guardando la
cadena (y su longitud) en el lugar apuntado por *cadena. La funcin cgets leer
caracteres hasta que encuentre una combinacin de retorno de lnea y nuevalnea (CR/LF), o hasta que el nmero mximo de caracteres permitidos hayan
7/25/2019 Bibliotecas de C
15/47
Biblioteca Estndar del C 2011
15
sido ledos. Si se lee una combinacin CR/LF, entonces es sustituido por un
carcter nulo '\0' antes de ser guardado la cadena.
Cputs
Muestra la cadena, que finaliza con el carcter nulo, apuntada por el argumentocadena en la ventana de texto actual. Esta funcin es similar a la funcin puts,
pero con dos excepciones: la funcin cputs no convertir los caracteres de
nueva lnea (\n) en la pareja de caracteres de retorno de lnea/nueva lnea (\r\n)
tampoco aadir el carcter de nueva lnea al final del texto.
Kbhit
Revisa si una tecla pulsada est disponible. Cualesquier pulsadas disponibles
pueden ser recogidas con las funciones getch o getche.
getch ()
Lee un carcter desde el teclado, sin mostrar el eco y sin necesidad de pulsarReturn. Devuelve el cdigo ASCII del carcter tecleado. Ah va un ejemplo:
char c;
c = getch();
clrscr ()
Borra la pantalla. No necesita argumentos.
7/25/2019 Bibliotecas de C
16/47
Biblioteca Estndar del C 2011
16
La librera Ctype.h
Este archivo de cabecera analiza el tipo de carcter dependiendo de la funcinmandada a llamar. El carcter puede ser mandado a la funcin como unnmero entero o como un carcter (variable o encerrado entre apstrofos). Si lafuncin determina que no es ese tipo de carcter regresa el valor de 0 (quepara c es un valor de falso y otro valor si lo es (para C es un valor deverdadero). Existen tambin un par de funciones que permiten convertir uncarcter de minscula a mayscula y viceversa,
Funciones dentro de
Isalnum: determina si el character c es una letra del alfabeto (de la aala z sin distinguir entre maysculas y minsculas) o un digito. Si no esletra o digito regresa un valor cero, de lo contrario regresa un valor
distinto de cero.o Formato: Int isalnum (int c)
Programa Salidavoid main (void){ char letra;
letra=getche();if (isalnum(letra))
printf("\n%c es unaletra o nmero", letra);
else
printf("\n%c no esuna letra ni nmero", letra);}
Si letra='r'
"r es una letra o nmero"
Si letra='7'
"7 es una letra o nmero"
Si letra='$'
"$ no es una letra ni nmero"
7/25/2019 Bibliotecas de C
17/47
Biblioteca Estndar del C 2011
17
Isdigit: determina si el carcter ces un nmero. Si no es un nmeroregresa un valor cero, de lo contrario regresa un valor distinto de cero.
o Fomarto: int isdigit (int c)
Ejemplo:
Programa Salidavoid main (void){ char letra;
letra=getche();if (isdigit(letra))
printf("\n%c es unnmero", letra);
elseprintf("\n%c no es
un nmero", letra);}
Si letra='4'
"4 es un nmero"
Si letra='$'
"$ no es un nmero"
Isascii: determina si el entero ces un carcter de la tabla de cdigoASCII bsico (del 0 al 127). Si no es un carcter ASCII bsico regresaun valor cero, de lo contrario regresa un valor distinto de cero.
o Formato: int isascii (int c)
Ejemplo:
Programa Salidavoid main (void){ char letra;
letra=getche();if (isascii(letra))
printf("\n%c esASCII bsico", letra);
elseprintf("\n%c no es
un ASCII bsico", letra);
}
Si letra='+'
"+ es un ASCII bsico"
Si letra=''
" no es un ASCII bsico"
7/25/2019 Bibliotecas de C
18/47
Biblioteca Estndar del C 2011
18
Isspace: determina si el caracter ces un caracter blanco (tab, espacio,retorno de carro, cambio de lnea, tab vertical, salto de pgina). Si no escaracter blanco regresa un valor cero, de lo contrario regresa un valordistinto de cero.
o Formato: int isspace (int c)
Ejemplo:
Programa Salidavoid main (void){ char letra;
letra=getche();if (isspace(letra))
printf("\n%02x esun caracter blanco", letra);
elseprintf("\n%c no es
un caracter blanco", letra);}
Si letra='\t'
"0x09 es un caracter blanco"
Si letra='$'
"$ no es un caracter blanco"
islower: determina si el caracter ces una letra minscula. Si no esminscula regresa un valor cero, de lo contrario regresa un valor distintode cero.
o Formato: int islower (int c)
Ejemplo:
Programa Salidavoid main (void){ char letra;
letra=getche();if (islower(letra))
printf("\n%c es unaletra minscula", letra);
elseprintf("\n%c no es
una letra minscula", letra);
}
Si letra='r'
"r es una letra minscula"
Si letra='R'
"R no es una letra minscula"
Si letra='&'
"& no es una letra minscula"
Isupper:Determina si el caracter ces una letra mayscula. Si no esmayscula regresa un valor cero, de lo contrario regresa un valor distintode cero.
o
Formato: int isupper (int c)
7/25/2019 Bibliotecas de C
19/47
Biblioteca Estndar del C 2011
19
Ejemplo:
Programa Salidavoid main (void){ char letra;
letra=getche();if (isupper(letra))
printf("\n%c es unaletra mayscula", letra);
elseprintf("\n%c no es
una letra mayscula", letra);}
Si letra='R'
"R es una letra mayscula"
Si letra='r'
"r no es una letra mayscula"
Si letra='&'
"& no es una letra mayscula"
Toascii: convierte un entero a un carcter ASCII bsico (solo mantienelos 7 bits menos significativos).
o Formato: int toascii (int c)
Ejemplo:
Programa Salidavoid main (void){ char letra;
letra=getche();printf("\n%c sin convertir",
letra);printf("\n%c convertido aASCII", toascii(letra));}
Si letra='r'
"r sin convertir""r convertido a ASCII"
Si letra=''
" sin convertir""# convertido a ASCII"
tolower: Convierte una letra mayscula a minscula. Si es una letramayscula retornara su equivalente en minscula, de lo contrarioretornar el carcter sin modificacin alguna.
o Formato: int tolower (int c)
Ejemplo:
Programa Salidavoid main (void){ char letra;
letra=getche();printf("\n%c sin convertir",
letra);printf("\n%c en minscula",
tolower(letra));
}
Si letra='A'
"A sin convertir""a en minscula"
Si letra='5'
"5 sin convertir""5 en minscula"
7/25/2019 Bibliotecas de C
20/47
Biblioteca Estndar del C 2011
20
toupper: Convierte una letra minscula a mayscula. Si es una letraminscula retornara su equivalente en mayscula, de lo contrarioretornar el carcter sin modificacin alguna.
o Formato: int toupper (int c)
Ejemplo:
Programa Salidavoid main (void){ char letra;
letra=getche();printf("\n%c sin convertir",
letra);printf("\n%c en mayscula",
toupper(letra));}
Si letra='a'
"a sin convertir""A en mayscula"
Si letra='5'
"5 sin convertir""5 en mayscula"
7/25/2019 Bibliotecas de C
21/47
Biblioteca Estndar del C 2011
21
La librera Stdlib.h
stdlib.h, cuyas siglas se definien como: std-lib: s tandar l ibraryo bibliotecaestndar, es el archivo de cabecera de la biblioteca estndar de propsito
general del lenguaje de programacin C. Contiene los prototipos de funciones
de C para gestin de memoria dinmica, control de procesos y otras. Es
compatible con C++ donde se conoce como cstdlib.
Las funciones que pertenencen a stdlib.h pueden clasificarse en las siguientes
categoras: conversin, memoria, control de procesos, ordenacin y bsqueda,
matemticas.
Nombre Descripcin
Conversin de tipos
atof (asci i to f loat) cadena de caracteres acoma flotante
atoi (asci i to integer) cadena de caracteres aentero
atol (C StandardLibrary) (asci i to long)
cadena de caracteres a entero tamao largo
strtod (st r ing to double) cadena de caracteres a coma flotante tamaodoble
strtol (st r ing to long) cadena de caracteres a entero largo
strtoul (st r ing to unsignedlong)
cadena de caracteres a entero largo sin signo(positivo)
Generacin denmeros pseudo-aleatorios
rand Genera un nmero pseudo-aleatorio
srand Establece la semilla para el generador denmeros pseudo-aleatorios
http://es.wikipedia.org/w/index.php?title=Atof&action=edit&redlink=1http://es.wikipedia.org/wiki/Cadena_de_caractereshttp://es.wikipedia.org/wiki/Tipo_de_dato_realhttp://es.wikipedia.org/w/index.php?title=Atoi&action=edit&redlink=1http://es.wikipedia.org/wiki/Tipo_de_dato_enterohttp://es.wikipedia.org/w/index.php?title=Atol_(C_Standard_Library)&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Atol_(C_Standard_Library)&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strtod&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strtol&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strtoul&action=edit&redlink=1http://es.wikipedia.org/wiki/N%C3%BAmero_pseudo-aleatoriohttp://es.wikipedia.org/wiki/N%C3%BAmero_pseudo-aleatoriohttp://es.wikipedia.org/wiki/Randhttp://es.wikipedia.org/w/index.php?title=Srand&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Srand&action=edit&redlink=1http://es.wikipedia.org/wiki/Randhttp://es.wikipedia.org/wiki/N%C3%BAmero_pseudo-aleatoriohttp://es.wikipedia.org/w/index.php?title=Strtoul&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strtol&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strtod&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Atol_(C_Standard_Library)&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Atol_(C_Standard_Library)&action=edit&redlink=1http://es.wikipedia.org/wiki/Tipo_de_dato_enterohttp://es.wikipedia.org/w/index.php?title=Atoi&action=edit&redlink=1http://es.wikipedia.org/wiki/Tipo_de_dato_realhttp://es.wikipedia.org/wiki/Cadena_de_caractereshttp://es.wikipedia.org/w/index.php?title=Atof&action=edit&redlink=17/25/2019 Bibliotecas de C
22/47
Biblioteca Estndar del C 2011
22
Gestin de memoria dinmica
malloc,calloc,realloc Reservan memoria dinmica
delheap (montno montculo)
free Liberan memoria devolvindola al heap
Control de procesos
abort terminar ejecucin anormalmente
atexit registrar una funcincallback para la salidadel programa
exit terminar ejecucin del programa
getenv recuperar una variable de entorno
system ejecutar un comando externo
Ordenacin y bsqueda
bsearch bsqueda binaria en un array
qsort ordena unvector(informtica) usandoQuicksort
Matemticas
abs,labs valor absoluto
div,ldiv divisin entera o euclidiana
Ahora pasaremos a definir algunas de las funciones que se utilizanmas de esta librera que son:
http://es.wikipedia.org/wiki/Mallochttp://es.wikipedia.org/w/index.php?title=Calloc&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Realloc&action=edit&redlink=1http://es.wikipedia.org/wiki/Mont%C3%ADculo_(programaci%C3%B3n)http://es.wikipedia.org/wiki/Freehttp://es.wikipedia.org/w/index.php?title=Abort&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Atexit&action=edit&redlink=1http://es.wikipedia.org/wiki/Callbackhttp://es.wikipedia.org/w/index.php?title=Exit_(operating_system)&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Getenv&action=edit&redlink=1http://es.wikipedia.org/wiki/System_(C_Standard_Library)http://es.wikipedia.org/wiki/System_(C_Standard_Library)http://es.wikipedia.org/w/index.php?title=Bsearch&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Bsearch&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Qsort_(C_Standard_Library)&action=edit&redlink=1http://es.wikipedia.org/wiki/Vector_(inform%C3%A1tica)http://es.wikipedia.org/wiki/Vector_(inform%C3%A1tica)http://es.wikipedia.org/wiki/Quicksorthttp://es.wikipedia.org/wiki/Abshttp://es.wikipedia.org/w/index.php?title=Labs&action=edit&redlink=1http://es.wikipedia.org/wiki/Valor_absolutohttp://es.wikipedia.org/wiki/Valor_absolutohttp://es.wikipedia.org/w/index.php?title=Div&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Ldiv&action=edit&redlink=1http://es.wikipedia.org/wiki/Divisi%C3%B3n_euclidianahttp://es.wikipedia.org/wiki/Divisi%C3%B3n_euclidianahttp://es.wikipedia.org/wiki/Divisi%C3%B3n_euclidianahttp://es.wikipedia.org/w/index.php?title=Ldiv&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Div&action=edit&redlink=1http://es.wikipedia.org/wiki/Valor_absolutohttp://es.wikipedia.org/w/index.php?title=Labs&action=edit&redlink=1http://es.wikipedia.org/wiki/Abshttp://es.wikipedia.org/wiki/Quicksorthttp://es.wikipedia.org/wiki/Vector_(inform%C3%A1tica)http://es.wikipedia.org/wiki/Vector_(inform%C3%A1tica)http://es.wikipedia.org/w/index.php?title=Qsort_(C_Standard_Library)&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Bsearch&action=edit&redlink=1http://es.wikipedia.org/wiki/System_(C_Standard_Library)http://es.wikipedia.org/w/index.php?title=Getenv&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Exit_(operating_system)&action=edit&redlink=1http://es.wikipedia.org/wiki/Callbackhttp://es.wikipedia.org/w/index.php?title=Atexit&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Abort&action=edit&redlink=1http://es.wikipedia.org/wiki/Freehttp://es.wikipedia.org/wiki/Mont%C3%ADculo_(programaci%C3%B3n)http://es.wikipedia.org/w/index.php?title=Realloc&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Calloc&action=edit&redlink=1http://es.wikipedia.org/wiki/Malloc7/25/2019 Bibliotecas de C
23/47
Biblioteca Estndar del C 2011
23
Atoi: Convierte una cadena a un entero
Formato: int atoi ( const char * str );
Analiza la cadena str C interpretacin de su contenido como un nmero entero,
que se devuelve como un valor int.
Los descartes primera funcin como muchos espacios en blanco como seanecesario hasta que el primer carcter no blanco se encuentra. Luego, a partirde este personaje, toma un opcional signo inicial ms o menos seguido detantos caracteres numricos como sea posible, y las interpreta como un valornumrico.
La cadena puede contener caracteres adicionales despus de los que formanel nmero entero, que se ignoran y no tienen ningn efecto sobre elcomportamiento de esta funcin.
Si la primera secuencia de caracteres no est en blanco str no es un nmeroentero vlido, o si no existe tal secuencia, ya sea porque str est vaco o slocontiene espacios en blanco, sin conversin se realiza.
Atof : convierte una cadena a doble
Formato: double atof ( const char * str );
Analiza la cadena str C interpretacin de su contenido como un nmero depunto flotante y devuelve su valor como un doble.
Los descartes primera funcin como muchos espacios en blanco como seanecesario hasta que el primer carcter no blanco se encuentra. Luego, a partirde este personaje, toma como muchos personajes de lo posible que sonvlidos despus de una sintaxis parecida a la de los literales de coma flotante,y las interpreta como un valor numrico. El resto de la cadena despus de queel ltimo carcter vlido es ignorado y no tiene ningn efecto sobre elcomportamiento de esta funcin.
Un nmero vlido de punto flotante para atof est formado por una sucesin
de:
Un signo opcional ms o menosUna secuencia de dgitos, de forma opcional que contiene un carcter de puntodecimalUna parte exponente opcional, que a su vez consiste en una 'e ' o 'E'caracteres seguido de un signo opcional y una secuencia de dgitos.Si la primera secuencia de caracteres no est en blanco str no forman unnmero vlido de punto flotante como acaba de definir, o si no existe talsecuencia, ya sea porque str est vaco o slo contiene espacios en blanco, sinconversin se realiza.
7/25/2019 Bibliotecas de C
24/47
Biblioteca Estndar del C 2011
24
Rand: Devuelve un nmero entero pseudo-aleatorio en el rango de 0 aRAND_MAX.
Formato: int rand ( void );
Este nmero es generado por un algoritmo que devuelve una secuencia denmeros aparentemente no relacionados cada vez que se llama. Este algoritmoutiliza una semilla para generar la serie, que debera ser inicializado a un valordistintivo con srand.
RAND_MAX es una constante definida en . Su valor por defectopuede variar entre las implementaciones pero se concede al menos 32.767.
Una forma tpica de generar nmeros pseudo-aleatorios en un rangodeterminado utilizando rand es utilizar el mdulo del valor devuelto por el lapsode gama y aade el valor inicial de la gama:
(% valor de 100) se encuentra en el rango de 0 a 99(valor 100% + 1) se encuentra en el rango de 1 a 100(valor 30% + 1985) est en el rango 1985 a 2014
Srand: inicializa el generador de nmeros aleatorios
Formato: void srand (unsigned int semilla);
El generador de nmeros pseudo-aleatorios se inicializa con el argumentopasado como semilla.Para cada valor de inicializacin diferentes utilizados en una llamada a srand,el generador de nmeros pseudo-aleatorios se puede esperar para generar unasucesin de diferentes resultados en las posteriores convocatorias de rand.Dos inicializaciones diferentes con la misma semilla, la instruccin degenerador de pseudo-aleatorios para generar la misma sucesin de losresultados de las posteriores convocatorias de rands en ambos casos.
Si la semilla se establece en 1, el generador se reinicializa a su valor inicial y
produce los mismos valores que antes de cualquier llamada a srand o rands.
Con el fin de generar nmeros al azar-como, srand es normalmente inicializadoa un valor distintivo, como los relacionados con el tiempo de ejecucin. Porejemplo, el valor devuelto por la funcin de tiempo (declarada en encabezado) es diferente a cada segundo, que es distintivo suficiente para lamayora de las necesidades del azar.
System: ejecuta un comando del sistema
Formato: int system (const char * command);
7/25/2019 Bibliotecas de C
25/47
Biblioteca Estndar del C 2011
25
Inicia el procesador de comandos para ejecutar un comando. Una vez que laejecucin de comandos ha terminado, el procesador da el control al programa,devolver un valor entero, cuya interpretacin depende del sistema.
La funcin de llamada tambin se puede utilizar con NULL como argumentopara comprobar si existe un procesador de comandos.
7/25/2019 Bibliotecas de C
26/47
Biblioteca Estndar del C 2011
26
La librera String.h
string.hes un archivo de la Biblioteca estndar del lenguaje de programacin
C que contiene la definicin de macros, constantes, funciones y tipos de
utilidad para trabajar con cadenas de caracteres y algunas operaciones demanipulacin de memoria (el nombre stringpuede ser algo inapropiado).
Las funciones declaradas en string.h se han hecho muy populares, por lo que
estn garantizadas para cualquier plataforma que soporte C. Sin embargo,
existen algunos problemas de seguridad con estas funciones, como
el desbordamiento de buffer(buffer overflow), que hacen que algunos
programadores prefieran opciones ms seguras frente a la portabilidad que
estas funciones ofrecen. Adems, las funciones para cadenas de caracteres
slo trabajan con conjuntos de caracteres ASCII o extensiones ASCII
compatibles.
Funciones dentro de
Dentro de las funciones que nos ofrece la biblioteca encontramos las
siguientes:
Nombres Descripcin
memcpy copia n bytes entre dos reas de memoria que no debensolaparse
memmove copia n bytes entre dos reas de memoria; al contrarioque memcpy las reas deben solaparse
memchr busca un valor a partir de una direccin de memoria dada ydevuelve un puntero a la primera ocurrencia del valor buscadooNULLsi no se encuentra
memcmp compara los n primeros caracteres de dos reas de memoria
memset sobre escribe un rea de memoria con un patrn de bytes dado
strcat aade una cadena al final de otra
strncat aade los n primeros caracteres de una cadena al final de otra
http://es.wikipedia.org/w/index.php?title=Memcpy&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Memmove&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Memmove&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Memchr&action=edit&redlink=1http://es.wikipedia.org/wiki/NULLhttp://es.wikipedia.org/wiki/NULLhttp://es.wikipedia.org/wiki/NULLhttp://es.wikipedia.org/w/index.php?title=Memcmp&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Memset&action=edit&redlink=1http://es.wikipedia.org/wiki/Strcathttp://es.wikipedia.org/w/index.php?title=Strncat&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strncat&action=edit&redlink=1http://es.wikipedia.org/wiki/Strcathttp://es.wikipedia.org/w/index.php?title=Memset&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Memcmp&action=edit&redlink=1http://es.wikipedia.org/wiki/NULLhttp://es.wikipedia.org/w/index.php?title=Memchr&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Memmove&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Memcpy&action=edit&redlink=17/25/2019 Bibliotecas de C
27/47
Biblioteca Estndar del C 2011
27
strchr localiza un carcter en una cadena, buscando desde el principio
strrchr localiza un carcter en una cadena, buscando desde el final
strcmp compara dos cadenas numricamente ('a'!='A')
strncmp compara los n primeros caracteres de dos cadenasnumricamente ('a'!='A')
strcoll compara dos cadenas segn la colacin actual ('a'=='A')
strcpy copia una cadena en otra
strncpy copia los n primeros caracteres de una cadena en otra
strerror devuelve la cadena con el mensaje de error correspondiente alnmero de error dado
strlen devuelve la longitud de una cadena
strspn devuelve la posicin del primer carcter de una cadena que nocoincide con ninguno de los caracteres de otra cadena dada
strcspn devuelve la posicin del primer carcter que coincide con algunode los caracteres de otra cadena dada
strpbrk encuentra la primera ocurrencia de alguno de los caracteres deuna cadena dada en otra
strstr busca una cadena dentro de otra
strtok parte una cadena en una secuencia de tokens
strxfrm transforma una cadena en su forma de colacin (??)
strrev invierte una cadena
http://es.wikipedia.org/w/index.php?title=Strchr&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strrchr&action=edit&redlink=1http://es.wikipedia.org/wiki/Strcmphttp://es.wikipedia.org/w/index.php?title=Strncmp&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strncmp&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strcoll&action=edit&redlink=1http://es.wikipedia.org/wiki/Strcpyhttp://es.wikipedia.org/w/index.php?title=Strncpy&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strerror&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strlen&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strspn&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strspn&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strcspn&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strpbrk&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strpbrk&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strstr&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strstr&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strtok&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strtok&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strxfrm&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strxfrm&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strrev&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strrev&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strxfrm&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strtok&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strstr&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strpbrk&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strcspn&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strspn&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strlen&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strerror&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strncpy&action=edit&redlink=1http://es.wikipedia.org/wiki/Strcpyhttp://es.wikipedia.org/w/index.php?title=Strcoll&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strncmp&action=edit&redlink=1http://es.wikipedia.org/wiki/Strcmphttp://es.wikipedia.org/w/index.php?title=Strrchr&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Strchr&action=edit&redlink=17/25/2019 Bibliotecas de C
28/47
Biblioteca Estndar del C 2011
28
Entre todas estas funciones que nos ofrece la string.h podemos considerar las
siguientes como las de uso frecuente, en cuanto a esta biblioteca se refiere:
Nombre Formato Descripcin Valor retornado
strcpy( )
# include
char * strcpy (char* s1, const char *s2);
El strcpy () copia lacadena apuntada pors2 (incluyendo el bytenulo de terminacin)en el array apuntadopor s1. Si la copia serealiza entre losobjetos que sesuperponen, el
comportamiento esindefinido.
El strcpy ()devuelve s1, sinvalor de retorno sereserva paraindicar un error.
strlen( ) # include
size_t strlen (constchar * s);
La funcin strlen ()calcula el nmero debytes de la cadena a laque s puntos, sinincluir el byte nulo determinacin.
La funcin strlen ()devuelve lalongitud de s, sinvalor de retorno sereserva paraindicar un error.
strncmp( ) # include
int strncmp (constchar * s1, constchar * s2, size_t n);
El strncmp () comparano ms de n bytes(bytes que siguen unbyte nulo no secomparan) del arrayapuntado por s1 con lacadena apuntada pors2.El signo de un valor deretorno distinto de cerose determina por elsigno de la diferenciaentre los valores de laprimera pareja debytes (ambosinterpretados como eltipo unsigned char)que difieren en lascadenas que se
comparan.
Si es correcto,strncmp ()devuelve unnmero enteromayor, igual oinferior a 0, si lamatrizposiblementeterminada en nuloapuntado por s1es mayor, igual oinferior a la matrizposiblementeterminada en nuloapuntada por s2 ,respectivamente.
7/25/2019 Bibliotecas de C
29/47
Biblioteca Estndar del C 2011
29
strncpy( )# include
char * strncpy (char* s1, const char *s2, size_t n);
El strncpy () copia noms de n bytes (bytesque siguen un byte
nulo no se copian) dela cadena apuntadapor s2 a la cadenaapuntada por s1. Si lacopia se realiza entrelos objetos que sesuperponen, elcomportamiento esindefinido.Si el array apuntado
por s2 es una cadenaque es menor que nbytes, bytes nulos seaaden a la copia en elarray apuntado por s1,hasta que n bytes entodos se escriben.
El strncpy ()devuelve s1, sinvalor de retorno sereserva paraindicar un error.
7/25/2019 Bibliotecas de C
30/47
Biblioteca Estndar del C 2011
30
La librera Time.h
La biblioteca time.h es un archivo de cabecera de la biblioteca
estndar del lenguaje de programacin C que contiene funciones para
manipular y formatear la fecha y hora del sistema.
Funcin Usoasctime() Obtener una cadena alfanumrica del tipo Mon Nov 21 11:31:54
1993\n\0 a partir de una estructura tmclock() Obtener el tiempo transcurrido desde el comienzo de la
ejecucin del programactime() Obtener una cadena alfanumrica del tipo sealado
para asctimea partir de un timestamp.difftime() Obtener el tiempo en segundos entre dos timestamp.gmtime() Obtener una fecha GMT en formato tma partir de un
timestamp con la hora local.localtime() Obtener una fecha en formato tma partir de un timestamp.mktime() Obtener un timestamp numrico a partir de una fecha tm.strftime() Obtener una representacin alfanumrica a partir de una
fecha tm (acepta un formateo similar a printf)time() Obtener un timestamp con la fecha y hora del Sistema.
Adems de las funciones anteriores, la STL define tres tipos
simples: size_t; clock_t, time_ty una estructura tm. En realidad se trata de
typedefs dependientes de la implementacin.
typedef long time_t;
size_t El tipo size_tes utilizado en muchas ocasiones. Por ejemplo, es elresultado devuelto por el operador sizeof. Es un entero sin signocuyo tipo exacto depende de la implementacin, aunque suele serde al menos 32 bits (4 Bytes). Normalmente est definido endiversos ficheros de cabecera, entre otros , aunque esfrecuente que de una cabecera se redireccione a otra donderealmente est definido. En el caso de MS Visual C++ 6.0 y Borland
C++size_tes un tipo unsigned intclock_t Representa el valor devuelto por la funcin clock. En Borland C++es un long int
time_t Representa valores devueltos por las funciones time() y mktime().En MS Visual C++ y Borland C++ es un long int
tm Es una estructura utilizada por diversas funciones de la Librerapara almacenar informacin relativa a fecha y hora. Porejemplo: asctimey localtime. Responde a la definicin siguiente:struct tm {int tm_sec; // Segundos pasados del minuto (0-61)int tm_min; // Minutos pasados de la hora (0-59)
int tm_hour; // Horas desde medianoche (0-23)int tm_mday; // Dia del mes (1-31)
7/25/2019 Bibliotecas de C
31/47
Biblioteca Estndar del C 2011
31
int tm_mon; // Nmero del mes (0-11)int tm_year; // Aos transcurridos desde 1900int tm_wday; // Dia de semana (0-6; Domingo = 0)int tm_yday; // Dia del ao (0-365)int tm_isdst; /* Adelanto de hora para horario de verano
1=Si; 0=No; -1=Indefinido */};
Definicin de las funciones de time.h
Asctime( )
La funcin se presenta en dos versiones: asctime para caracteres normales
y _wasctime para caracteres anchos, que responden a los siguientes
prototipos:
#include
char* asctime(const struct tm* tmPtr);
wchar_t* _wasctime(const struct tm* tmPtr);
Descripcin:
Ambas funciones aceptan un puntero a una estructura tipo tm , y devuelven un
puntero a una cadena de caracteres con informacin alfanumrica sobre la
fecha contenida en la estructura. La cadena es de ancho fijo (26 caracteres),
mantiene siempre el mismo formato, y es reescrita cada vez que se invoca la
funcin:
Mon Nov 21 11:31:54 1993\n\0
El reloj utilizado es de 24 horas, y cualquiera que sea el tipo de caracteres
utilizados (anchos o estrechos), termina en los caracteres NL (New Line) y NUL
(nulo).
Ejemplo:
#include
using namespace std;
#include
int main() { // ==================
7/25/2019 Bibliotecas de C
32/47
Biblioteca Estndar del C 2011
32
struct tm myt;
myt.tm_sec = 1; myt.tm_min = 30; myt.tm_hour = 9;
myt.tm_mday = 22; myt.tm_mon = 11; myt.tm_year = 56;
myt.tm_wday = 4; myt.tm_yday = 0; myt.tm_isdst = 0;
char* cTim = asctime(&myt));
cout
7/25/2019 Bibliotecas de C
33/47
Biblioteca Estndar del C 2011
33
cout
7/25/2019 Bibliotecas de C
34/47
Biblioteca Estndar del C 2011
34
Fecha: Fri Jan 01 01:00:00 1971
Difftime( )
Prototipo:
#include
double difftime(time_t time2, time_t time1);
Descripcin:
La funcin acepta dos valores tipo time_t y devuelve un double con el tiempo
entre ambos valores expresado en segundos.
Ejemplo:
#include
using namespace std;
#include
int main() { // =================
time_t first, second;
first = time(NULL);
delay(2000); // esperar 2 segundos
second = time(NULL);
cout
7/25/2019 Bibliotecas de C
35/47
Biblioteca Estndar del C 2011
35
una estructura tipotm que contiene la fecha convertida a la hora GMT
correspondiente.
Esta funcin puede ser til en un programa que maneje comunicaciones por
Internet, donde es costumbre utilizar la hora GMT en vez de la hora local.
Ejemplo:
#include
using namespace std;
#include
int main() { // =================
time_t tSac = time(NULL); // instante actual
struct tm* pt1 = localtime(&tSac);
cout
7/25/2019 Bibliotecas de C
36/47
Biblioteca Estndar del C 2011
36
retraso de 7 horas respecto a la hora Zul. Cuando en S. Francisco son las
22:45 del da 23, en Greenwich son las 5:45 de la madrugada del da 24.
Localtime( )
Esta funcin, junto con time, es posiblemente una de las ms tiles de entre las
que se refieren a asuntos de fecha y hora.
Prototipo:
#include
struct tm* localtime(const time_t* timer);
Descripcin:
La funcin acepta un puntero a un tipo time_t, que contiene una fecha
expresada en segundos desde el inicio de la poca UNIX, y devuelve un
puntero a una estructura tm cuyos miembros contienen informacin sobre la
fecha introducida. Sus miembros son sobreescritos con cada invocacin a la
funcin.
Ejemplo:
#include
using namespace std;
#include
int main() { // =================
char* dS[7] = {"Domingo","Lunes","Martes","Miercoles",
"Jueves","Viernes","Sabado"};
time_t tSac = time(NULL); // instante actualstruct tm* tmP = localtime(&tSac);
cout
7/25/2019 Bibliotecas de C
37/47
Biblioteca Estndar del C 2011
37
return 0;
}
Salida:
hh:mm:ss 11:13:23
dd-mm-aaaa: 22-5-2003
Dia de semana: Jueves
Dia del ao: 141
Horario de verano: Si
Mktime ( )
Prototipo:
#include
time_t mktime(struct tm* tmPtr);
Descripcin:
La funcin mktime realiza justamente la operacin inversa que la
anterir localtime. Acepta un puntero a una estructura tm con informacin sobre
una fecha y devuelve un valor tipo time_t con el tiempo en segundos desde el
inicio de la poca UNIX.
Strftime( )
Esta funcin se presenta en dos versiones: strftime para caracteres normales
y wcsftime para caracteres anchos.
Prototipo:
#include
size_t strftime(char* str, size_t maxsize,
const char* fmt, const struct tm* mPt);
size_t wcsftime(wchar_t* str, size_t maxsize,
const wchar_t* fmt, const struct tm* mPt);
Descripcin:
7/25/2019 Bibliotecas de C
38/47
Biblioteca Estndar del C 2011
38
Como puede verse, la funcin devuelve un tipo size_t, y acepta cuatro
argumentos: un puntero-a-carcter str que seala una cadena de caracteres
donde se obtendr el resultado; un tipo size_t maxize; un puntero a cadena de
caracteres constante fmt y un puntero mPt a una estructura tm que suponemos
contiene datos de una fecha.
La funcin produce una cadena alfanumrica terminada en un carcter nulo, y
la sita en el lugar sealado por str. El valor devuelto es la longitud de esta
cadena incluyendo el carcter de terminacin. En caso de error, o si la longitud
resulta mayor que maxsize, el valor devuelto es cero y el resultado obtenido
(cadena situada en str) es indeterminado.
La cadena producida es una versin de la fecha contenida en la estructura,
pero formateada segn determinados cdigos de formateo que se sitan en la
cadena sealada por fmt. El sistema es similar al de la conocida funcin printf()
que proporciona salidas formateadas. Los cdigos permitidos son muy
numerosos, de forma que puede controlarse todos los detalles de la
representacin (consulte el manual de su compilador al respecto).
Ejemplo:
#include
using namespace std;
#include
int main() { // =================
time_t tSac = time(NULL); // instante actual
tm tms = *localtime(&tSac);
cout
7/25/2019 Bibliotecas de C
39/47
Biblioteca Estndar del C 2011
39
return 0;
}
Salida:
hh:mm:ss 20:14:13
dd-mm-aaaa: 24-5-2003
Son 14 minutos pasados de las 08 horas (WET) Saturday, May 24 2003
Time( )
Esta funcin devuelve la hora actual del sistema en segundos desde el inicio de
la poca UNIX (1 de Enero de 1970 00:00:00 GMT).
Prototipo:
#include
time_t time(time_t* tPtr);
Descripcin:
La funcin acepta un puntero a time_t y devuelve un valor time_t que es el
tiempo en segundos transcurrido desde el inicio de la poca UNIX. En realidad
puede realizar dos funciones: si se pasa un valor no nulo, el valor
correspondiente se almacena en el sitio sealado por el puntero. Si este valor
es nulo entonces el valor no se almacena en ningn sitio. En cualquier caso
siempre devuelve un valor con el instante actual en segundos desde las 0
horas del 1 de Enero de 1970.
Ejemplo:
#include
using namespace std;
#include
int main() { // =================
time_t t1 = 0;
time_t* pt1 = &t1;
7/25/2019 Bibliotecas de C
40/47
Biblioteca Estndar del C 2011
40
time(pt1);
cout
7/25/2019 Bibliotecas de C
41/47
Biblioteca Estndar del C 2011
41
La librera Math.h
Math.h es un archivo de cabecera de la biblioteca estndar del lenguaje deprogramacin C diseado para operaciones matemticas bsicas. Muchas desus funciones incluyen el uso de nmeros en coma flotante. C++ tambin
implementa estas funciones por razones de compatibilidad y las declara en lacabecera cmath.
Funciones dentro de
Nombre DescripcinAcos Calcula el valor principal del arco
coseno de x. Puede producirse unerror de dominio para los argumentosque no estn en el intervalo [-1, +1]
Asin Calcula el valor principal del arcoseno de x. Puede producirse un errorde dominio para los argumentos queno estn en el intervalo [-1, +1].
AtanCalcula el valor principal del arcotangente de x.
Atan2
Calcula el valor principal del arcotangente de y/x, usando los signos deambos argumentos para determinar elcuadrante del valor de retorno. Puedeproducirse un error de dominio siambos argumentos son cero.
Ceil Calcula el valor integral ms pequeoque no sea menor de x.
Cos Calcula el coseno de x (medido enradianes).
Exp Calcula la funcin exponencial de x.
Fabs Calcula el valor absoluto del nmerode coma flotante, x.
Floor Calcula el valor integral ms grandeque no sea mayor de x.
Fmod Calcula el resto de coma flotante de ladivisin de x/y.
Log Calcula el logaritmo natural (o
neperiano). Puede producirse un errorde dominio si el argumento es
7/25/2019 Bibliotecas de C
42/47
Biblioteca Estndar del C 2011
42
negativo. Puede producirse un errorde recorrido si el argumento es cero.
Pow
Calcula x elevado a la potencia de y.Puede producirse un error de dominio
si x es negativo e y no es un valorentero. Tambin se produce un errorde dominio si el resultado no sepuede representar cuando x es cero ey es menor o igual que cero. Un errorde recorrido puede producirse.
Sin Calcula el seno de x (medido enradianes).
Sqrt Calcula la raz cuadrada del valor nonegativo de x. Puede producirse unerror de dominio si x es negativo.
Tan Calcula la tangente de x (medido enradianes).
Abs Calcula el valor absoluto.
7/25/2019 Bibliotecas de C
43/47
Biblioteca Estndar del C 2011
43
Programa Ejemplo
El siguiente programa fue un programa hecho por el grupo en el cual se
muestran muchas de las funciones explicadas anteriormente que encontramos
en la Biblioteca Estndar del C.
Programa Fuente:
#include
#include
#include
#include
#include
#define pi 3.1416
main()
{ float r,a,v;
int opcion,x=0;
char resp='s',n[15];
clock_t comienzo;
do
{comienzo=clock();
printf("Introduzca su nombre ");
scanf("%[^\n]",&n);
printf("\nIntroduzca el radio de su esfera: ");
scanf("%f",&r);
printf("1) Area\n2) Volumen\n");
printf("Digite la opcion de la operacion a realizar ");
scanf("%i",&opcion);
switch(opcion)
{ case 1: a=4*pi*r*r;
printf("\n");
7/25/2019 Bibliotecas de C
44/47
Biblioteca Estndar del C 2011
44
puts(n);
printf("\nEl area de la esfera es de: %.2f",a);
break;
case 2: v=(4/3)*pi*(pow(r,3));
printf("\n");
puts(n);
printf("\nEl volumen de la esfera es de: %.3f",v);
break;
default:printf("\nIntrodujo un valor no valido para la opcin de la operacin");
}
printf("\nDesea hacer la operacin otra vez s/n: ");
fflush(stdin);
scanf("%c",&resp);
if(isupper(resp))
resp='s';
fflush(stdin);
}
while(resp=='s');
printf("\nEl proceso tuvo un tiempo de duracin de: %.1f segundos",(clock()-
comienzo)/(double)CLOCKS_PER_SEC);
getch();
return 0;
}
7/25/2019 Bibliotecas de C
45/47
Biblioteca Estndar del C 2011
45
Capturas de pantalla:
7/25/2019 Bibliotecas de C
46/47
Biblioteca Estndar del C 2011
46
Conclusiones
El lenguaje de programacin C posee diversas libreras dentro de la
Librera Estndar del C, las cuales nos ayudan a realizar funciones para as no
tendramos que programarlas desde cero.
Entre las bibliotecas encontramos:
Stdio.h: la cual nos ayuda con los datos de E/S
Math.h: la cual nos ayuda con funciones matemticas (sen, cos,)
Conio.h: la cual nos ayuda a modificar la pantalla de MS-DOS
Time.h: la cual nos ayuda con todo tipo de funciones referentes al
tiempo.
Ctype.h: que nos ayuda con operaciones bsicas de caracteres. Stilib.h: que nos ayuda con mtodos dinmicos entre otros.
String.h: que nos ayuda a manipular cadenas.
Al final podemos decir que: las biblioteca estndar de c son libreras que nosfacilitan la programacin en c ya que poseen funciones creadas que van arealizar un trabajo en especifico en nuestro programa, estas funciones nospueden servir para e/s de datos, manejo de pantalla, manejo de cadenas ycaracteres, adems de las funciones matemticas.
7/25/2019 Bibliotecas de C
47/47
Biblioteca Estndar del C 2011
Bibliografa y Web-grafas (Referencia electrnica)
1. Luis Joyanes Aguilar. Fundamentos de Programacin, Algoritmos,estructura de datos y objetos. Cuarta Edicin. Mc Graw Hill
2. Google Chrome. Autor: Desconocido. Biblioteca Estndar del C. Fecha dePublicacin: Desconocida. 15 de abril de 2011.http://es.wikipedia.org/wiki/Biblioteca_est%C3%A1ndar_de_C
3. Google Chrome. Autor: Desconocido. Stdlib.h. Fecha de Publicacin:
Desconocida. 17 de abril de 2011.http://es.wikipedia.org/wiki/Stdlib.h
4. Google Chrome. Autor: Desconocido. Ctype.h. Fecha de Publicacin:Desconocida. 17 de abril de 2011.http://es.wikipedia.org/wiki/Ctype.h
5. Google Chrome. Autor: Zator Systems. 9.1 Fecha y Hora. Fecha dePublicacin: Desconocida. 17 de abril de 2011.http://www.zator.com/Cpp/E9_1.htm
6. Google Chrome. Autor: Desconocido. Librerias de C. Fecha dePublicacin: Desconocida. 18 de abril de 2011.http://docs.mis-algoritmos.com/c.funcion.putc.html
7. Google Chrome. Autor: Desconocido. Stdio.h. Fecha de Publicacin:Desconocida. 18 de abril de 2011.http://es.wikipedia.org/wiki/Stdio.h
8. Google Chrome. Autor: Alberto Pacheco. Funciones y Libreras. Fecha de
Publicacin: 12 de marzo de 2007. 18 de abril de 2011.http://expo.itch.edu.mx/view.php?f=c_35
9. Google Chrome. Autor: Marta Garduo. Archivo de Cabecera. Fecha dePublicacin: 16 de octubre de 2008. 18 de abril de 2011.http://fcqi.tij.uabc.mx/docentes/mgarduno/program1/archivos_cabecera.htm
http://es.wikipedia.org/wiki/Biblioteca_est%C3%A1ndar_de_Chttp://es.wikipedia.org/wiki/Biblioteca_est%C3%A1ndar_de_Chttp://es.wikipedia.org/wiki/Stdlib.hhttp://es.wikipedia.org/wiki/Stdlib.hhttp://es.wikipedia.org/wiki/Stdlib.hhttp://es.wikipedia.org/wiki/Ctype.hhttp://es.wikipedia.org/wiki/Ctype.hhttp://es.wikipedia.org/wiki/Ctype.hhttp://www.zator.com/Cpp/E9_1.htmhttp://www.zator.com/Cpp/E9_1.htmhttp://docs.mis-algoritmos.com/c.funcion.putc.htmlhttp://docs.mis-algoritmos.com/c.funcion.putc.htmlhttp://es.wikipedia.org/wiki/Stdio.hhttp://es.wikipedia.org/wiki/Stdio.hhttp://es.wikipedia.org/wiki/Stdio.hhttp://expo.itch.edu.mx/view.php?f=c_35http://expo.itch.edu.mx/view.php?f=c_35http://fcqi.tij.uabc.mx/docentes/mgarduno/program1/archivos_cabecera.htmhttp://fcqi.tij.uabc.mx/docentes/mgarduno/program1/archivos_cabecera.htmhttp://fcqi.tij.uabc.mx/docentes/mgarduno/program1/archivos_cabecera.htmhttp://expo.itch.edu.mx/view.php?f=c_35http://es.wikipedia.org/wiki/Stdio.hhttp://docs.mis-algoritmos.com/c.funcion.putc.htmlhttp://www.zator.com/Cpp/E9_1.htmhttp://es.wikipedia.org/wiki/Ctype.hhttp://es.wikipedia.org/wiki/Stdlib.hhttp://es.wikipedia.org/wiki/Biblioteca_est%C3%A1ndar_de_C