Bibliotecas de C

download Bibliotecas de C

of 47

Transcript of Bibliotecas de C

  • 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_dato
  • 7/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/Consola
  • 7/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.h
  • 7/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=1
  • 7/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_C
  • 7/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=1
  • 7/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/EOF
  • 7/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=1
  • 7/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_dato
  • 7/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=1
  • 7/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/Malloc
  • 7/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=1
  • 7/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=1
  • 7/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