Librerías y Funciones Del Lenguaje C

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 17

Librerías y funciones del lenguaje C:

Conio.h
La librería <conio.h>, es propiedad de Borland y sólo sus compiladores pueden usarla.
Por lo tanto significa que conio.h, no es una librería estandar.
La librería conio se utiliza más que nada por sus
comandos: getch(), clrscr(), gotoxy(), textcolor(), y textbackground(), los cuales
usamos para darle mejor presentación a nuestros programas. Pero pensandolo bien, ¿en
verdad necesitamos que los programas en consola se vean bien? La verdad es que no,
lo que importa es que funcionen.
Aún así, algunas funciones de la librería conio.h se pueden sustituir con funciones
estándares, por ejemplo.
• Para sustituir getch(), solo necesitamos: cin.get(); la cual está en <stdio.h>. Si no
funciona entonces tendremos que ponerla dos veces: cin.get();cin.get();, la
cuestión es algo complicada de explicar.
• Para sustituir clrscr(), solo necesitamos escribir system(«cls»); la cual está en
<iostream> (es sin .h, se definiría así: #include<iostream>).
• Gotoxy() es algo vanal, y además se puede sustituir usando n (espacio hacia
abajo) y t (espacio hacia la derecha) dentro de un printf();
• Y la verdad es que cualquiera te agradecerá que no le pongas fondo rosa y letras
amarillas a tus programas.

conio.h es un archivo de encabezado C utilizado principalmente por compiladores


de MS-DOS para proporcionar entrada / salida de consola . [1] No forma parte de
la biblioteca estándar C o ISO C , ni está definido por POSIX .

Este encabezado declara varias funciones de biblioteca útiles para realizar "entradas y
salidas de istream" desde un programa. La mayoría de los compiladores de C que tienen
como destino DOS , Windows 3.x , Phar Lap , DOSX, OS / 2 o Win32 [2] tienen este
encabezado y proporcionan las funciones de biblioteca asociadas en la biblioteca C
predeterminada. La mayoría de los compiladores de C que tienen como
destino UNIX y Linux no tienen este encabezado y no proporcionan las funciones de la
biblioteca. Algunos sistemas integrados o cc65 utilizan una biblioteca compatible con
conio. [3]

Las funciones de biblioteca declaradas por conio.h varían un poco de un compilador a


otro. Como se implementó originalmente en Lattice C , las diversas funciones se
asignaron directamente a las primeras funciones de DOS INT 21H . La biblioteca se
suministra con Borland 's Turbo C no hizo uso de la API DOS sino que se accede
directamente a la memoria RAM de vídeo para la salida y usados BIOS interrumpir las
llamadas . Esta biblioteca también tiene funciones adicionales inspiradas en el
exitoso Turbo Pascal .
Los compiladores que se dirigen a sistemas operativos que no son DOS, como Linux u
OS / 2, proporcionan soluciones similares; la biblioteca de curses relacionada con Unix
es muy común aquí. Otro ejemplo es el ciolib de SyncTERM . La versión
de conio.h realizada por DJ Delorie para el extensor GO32 es particularmente
extensa. [4]

Funciones de los miembros

kbhit Determina si también se presionó una tecla del teclado


cgets Lee una cadena directamente desde la consola
cscanf Lee valores formateados directamente desde la consola
putch Escribe un personaje directamente en la consola.
cputs Escribe una cadena directamente en la consola.
cprintf Formatea los valores y los escribe directamente en la consola.
clrscr Limpia la pantalla
getch Obtener entrada de caracteres desde la consola

Stdio.h
stdio.h, que significa "standard input-output header" (cabecera estándar E/S), es
el archivo de cabecera que contiene las definiciones de las macros, las constantes, las
declaraciones de funciones de la biblioteca estándar del lenguaje de
programación C para hacer operaciones, estándar, de entrada y salida, así como la
definición de tipos necesarias para dichas operaciones. Por motivos de compatibilidad,
el lenguaje de programación C++ (derivado de C) también tiene su propia
implementación de estas funciones, que son declaradas con el archivo de
cabecera cstdio .
Las funciones declaradas en stdio.h son sumamente populares.

Funciones miembro
Las funciones declaradas en stdio.h pueden clasificarse en dos categorías: funciones
de manipulación de ficheros y funciones de manipulación de entradas y salidas.

Nombre Descripción

Funciones de manipulación de ficheros

fclose Cierra un fichero a través de su puntero.


Abre un fichero para lectura, para escritura/reescritura o
fopen, freopen, fdopen
para adición.

remove Elimina un fichero.

rename Cambia al fichero de nombre.

Coloca el indicador de posición de fichero para el stream


rewind
apuntado por stream al comienzo del fichero.

Crea y abre un fichero temporal que es borrado cuando


tmpfile
cerramos con la función fclose().

Funciones de manipulación de entradas y salidas.

Despeja los indicadores de final de fichero y de posición de


clearerr fichero para el stream apuntado por stream al comienzo del
fichero.

feof Comprueba el indicador de final de fichero.

ferror Comprueba el indicador de errores.

Si stream apunta a un stream de salida o de actualización


cuya operación más reciente no era de entrada, la
función fflush envía cualquier dato aún sin escribir al entorno
local o a ser escrito en el fichero; si no, entonces el
fflush
comportamiento no está definido. Si stream es un puntero
nulo, la función fflush realiza el despeje para todos
los streams cuyo comportamiento está descrito
anteriormente.
fgetpos Devuelve la posición actual del fichero.

fgetc Devuelve un carácter de un fichero.

fgets Consigue una cadena de caracteres de un fichero.

fputc Escribe un carácter en un fichero.

fputs Escribe una cadena de caracteres en un fichero.

Devuelve la posición actual del fichero como número de


ftell
bytes.

fseek Sitúa el puntero de un fichero en una posición aleatoria.

fsetpos Cambia la posición actual de un fichero.

fread lee diferentes tamaños de datos de un fichero.

Envía, desde el array apuntado por puntero,


hasta nmemb de elementos cuyo tamaño es especificado
por tamaño. El indicador de posición de ficheros es
fwrite
avanzado por el número de caracteres escritos
correctamente. Si existe un error, el valor resultante del
indicador de posición de ficheros es indeterminado.

getc Devuelve un carácter desde un fichero.

getchar Devuelve un carácter desde la entrada estándar


Lee caracteres de entrada hasta que encuentra un salto de
gets
línea, y los almacena en un único argumento.

printf, fprintf, sprintf


Usados para imprimir salidas de datos.
snprintf

vprintf También utilizado para imprimir salidas.

perror Escribe un mensaje de error a stderr.

putc Escribe un carácter en un fichero.

putchar Escribe un carácter en la salida estándar

puts . Escribe una cadena de caracteres en la salida estándar

scanf, fscanf, sscanf Utilizado para introducir entradas.

vfscanf, vscanf, vsscanf También utilizado para introducir entradas.

Esta función es equivalente a la función setvbuf pasando los


valores _IOFBF para modo y BUFSIZ para tamaño, o (si
setbuf
acumulador es un puntero nulo), con el valor _IONBF para
modo.

Sólo puede ser usada después de que el stream apuntado


por stream ha sido asociado con un fichero abierto y antes
setvbuf de otra operación cualquiera es llevada a cabo al stream. El
argumento modo determina cómo stream será almacenado
según lo siguiente: _IOFBF ocasiona la entrada/salida a ser
completamente almacenado; _IOLBF ocasiona la
entrada/salida a almacenar por líneas; _IONBF ocasiona la
entrada/salida a no ser almacenado. Si acumulador no es un
puntero nulo, el array al que es apuntado puede ser usado
en vez de la acumulación adjudicada por la función setvbuf.
El argumento tamaño especifica el tamaño del array.

Genera una cadena de caracteres que es un nombre válido


para ficheros y que no es igual al nombre de un fichero
existente. La función tmpnam genera una cadena diferente
tmpnam cada vez que es llamada, hasta un máximo de TMP_MAX
veces. Si la función es llamada más veces que TMP_MAX,
entonces el comportamiento de la función está definido
según la implementación del compilador.

ungetc

Constantes miembro
Las constantes definidas en el fichero cabecera stdio.h son:

Nombre Descripción

EOF Entero negativo ( int ) usado para indicar "fin de fichero".

Entero que indica el tamaño del buffer de datos utilizado por la


BUFSIZ
función setbuf() .

Tamaño máximo de la cadena de caracteres que contienen el


FILENAME_MAX
nombre de un fichero para ser abierto

Número máximo de ficheros que pueden estar abiertos


FOPEN_MAX
simultáneamente.

_IOFBF Abreviatura de input/output fully buffered (buffer entrada/salida


totalmente lleno); es un entero que se puede pasar como
parámetro de la función setvbuf() para requerir bloqueo del
buffer en la entrada y salida del stream abierto.

Abreviatura de input/output line buffered (...??); es un entero que


_IOLBF se puede pasar como parámetro a la función setvbuf() para
requerir line buffered (??) en la entrada y salida del stream abierto.

Abreviatura de "input/output not buffered" (entrada/salida sin


buffer); es un entero que se puede pasar como parámetro a la
_IONBF
función setvbuf() para requerir que la entrada salida del stream
abierto funcione sin buffer.

Tamaño de la cadena de caracteres con la longitud suficiente para


L_tmpnam almacenar un nombre de fichero temporal generado por la
función tmpnam() .

Macro que representa la constante puntero nulo; representa un


NULL valor de puntero que no apunta a ninguna dirección válida de
objeto alguno en memoria.

Entero que se puede pasar como parámetro a la


SEEK_CUR función fseek() para indicar posicionamiento relativo a la posición
actual del fichero.

Entero que se puede pasar como parámetro a la


SEEK_END función fseek() para indicar posicionamiento relativo al final del
fichero.

Entero que se puede pasar como parámetro a la


SEEK_SET función fseek() para indicar posicionamiento relativo al inicio del
fichero.

El número máximo de nombres de ficheros únicos generables por


TMP_MAX
la función tmpnam() .
Variables miembro
El fichero de cabecera stdio.h define las siguientes variables:

Nombre Descripción

stdin Puntero a FILE que referencia la entrada estándar, normalmente el teclado.

stdout Puntero a FILE que referencia la salida estándar, normalmente el monitor.

Puntero a FILE que referencia la salida de error estándar, normalmente el


stderr
monitor.

Tipos miembro
Los tipos de datos definidos en el fichero de cabecera stdio.h son:

• FILE - estructura que contiene información sobre el fichero o stream (flujo)


de texto necesario para realizar las operaciones de entrada/salida sobre él.
incluye:
o posición actual de stream
o indicador de fin de fichero (EOF)
o indicador de error
o puntero al buffer del stream
• fpos_t - tipo no-array capaz de identificar unívocamente la posición de
cada byte en un archivo
• size_t - tipo entero sin signo (positivo); es el tipo devuelto por el
operador sizeof

Math.h
Math.h math.h es un archivo de cabecera de la ..biblioteca estándar del lenguaje de
programación C diseñado para operaciones matemáticas básicas. Muchas de sus
incluyen el uso de números en coma flotante. C++ también implementa estas funciones
por razones de compatibilidad y las declara en la cabecera cmath .
Una nota importante: si se está programando en C/C++ bajo Gnu/Linux, y se utiliza uno
de los compiladores nativos de este sistema operativo (gcc o g++), es necesario incluir,
al compilar, la opción -lm, dado que, de lo contrario, el compilador generará un error. Por
ejemplo, si tenemos un fichero fuente con funciones de la biblioteca matemática, llamado
mi_fich_fuente_math.c, para compilarlo será necesario dar la orden siguiente en la
consola de comandos (respectiva al intérprete):
$ gcc mi_fich_fuente_math.c -lm -o <nombre_del_ejecutable>
Esto, asimismo, no es necesario si se programa en C/C++ bajo Windows utilizando la
herramienta gráfica MS Visual C++. Ocurre algo similar al compilar nuestro programa
bajo gcc en MacOS ya que este está basado en UNIX no necesita el -lm.
Todas las funciones en las que participan ángulos toman y devuelven radianes.

Funciones miembro anteriores[editar]

Nombre Descripción

acos arcocoseno

asin arcoseno

atan arcotangente

atan2 arcotangente de dos parámetros

floor función suelo

cos coseno

cosh coseno hiperbólico

exp(double x) función exponencial, computa ex


fabs valor entero

ceil menor entero no menor que el parámetro

fmod residuo de la división de flotantes

frexp fracciona y eleva al cuadrado.

ldexp tamaño del exponente de un valor en punto flotante

log logaritmo natural

log10 logaritmo en base 10

modf obtiene un valor en punto flotante íntegro y en partes

pow eleva un valor dado a un exponente, xy

sin seno

sinh seno hiperbólico

sqrt raíz cuadrada

tan tangente
tanh tangente hiperbólica

Time.h
time.h relacionado con formato de hora y fecha es un archivo de cabecera de
la biblioteca estándar del lenguaje de programación C que contiene funciones para
manipular y formatear la fecha y hora del sistema.

Funciones

Nombre Descripción

Recibe una variable de tipo puntero a estructura tm


( struct tm* ) y devuelve una cadena de caracteres cuyo
char * asctime(struct tm *) formato es:
"Www Mmm dd hh:mm:ss yyyy\n" (ej: Tue May 15
19:07:04 2008\n)

Devuelve el número de pulsos de reloj desde que se


clock_t clock (void)
inició el proceso.

Recibe una variable de tipo puntero a time_t ( time t* ) y


char * ctime(time_t *) devuelve una cadena con el mismo formato
que asctime()

Recibe dos variables de tipo time_t , calcula su


double difftime(time_t, time
diferencia y devuelve el resultado ( double ) expresado
t)
en segundos.
Recibe un puntero a una variable de tiempo ( time_t* ) y
struct tm *gmtime(time_t *) devuelve su conversión como fecha/hora UTC a struct
tm a través de un puntero.

struct tm Similar funcionalidad a gmtime() , pero devuelve la


*localtime(time_t *) conversión como fecha/hora LOCAL.

Inversamente a gmtime() y localtime() ,l recibe un


time_t mktime(struct_tm *) puntero a struct tm ( struct tm* ) y devuelve su
conversión al tipo time t .

Devuelve la fecha/hora ( time_t ) actual o -1 en caso de


time_t time(time_t *) no ser posible. Si el argumento que se le pasa no es
NULL, también asigna la fecha/hora actual a dicho
argumento.

Formatea la información pasada mediante la estructura


size_t strftime(char ( struct tm* ) mediante el formato indicado en una cadena
*,size_t,char *,struct tm *) ( char* ) e imprime el resultado sobre otra cadena ( char* )
hasta un límite de caracteres ( size_t ).

Constantes

Nombre Descripción

Constante que define el número de pulsos de reloj por


CLK_PER_SEC
segundo; usado por la función clock()

nombre alternativo para CLK_PER_SEC usado en su lugar en


CLOCKS_PER_SEC
algunas bibliotecas
CLK_TCK usualmente una macro para CLK_PER_SEC

Tipos de datos

Nombre Descripción

clock_t tipo de dato devuelto por clock() , generalmente un long int

time t tipo de dato devuelto por time() , generalmente un long int

struct tm representación del tiempo en formato de calendario (fecha/hora)

Fecha (día/hora) de calendario


La fecha de calendario se representa como la estructura struct tm , que consta de los
siguientes atributos:

Atributo Descripción

int tm_hour hora (0 - 23)

int tm_isdst Horario de verano enabled/disabled

int tm_mday día del mes (1 - 31)

int tm_min minutos (0 - 59)

int tm_mon mes (0 - 11, 0 = Enero)


int tm_sec segundos (0 - 60)

int tm_wday día de la semana (0 - 6, 0 = domingo)

int tm_yday día del año (0 - 365)

int tm_year año desde 1900

String.h
string.h es un archivo de la Biblioteca estándar del lenguaje de programación C que
contiene la definición de macros, constantes, funciones y tipos y algunas operaciones de
manipulación de memoria.
Las funciones declaradas en string.h se han hecho muy populares, por lo que están
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 más
seguras frente a la portabilidad que estas funciones ofrecen. Además, las funciones para
cadenas de caracteres sólo trabajan con conjuntos de caracteres ASCII o extensiones
ASCII compatibles.

Constantes y tipos

Nombre Descripción

macro que representa la constante puntero nulo; representa un valor de puntero que no
NULL
apunta a ninguna dirección válida de objeto alguno en memoria

size_t tipo entero sin signo (positivo); es el tipo devuelto por el operador sizeof
Funciones

Nombres Descripción

memcpy copia n bytes entre dos áreas de memoria que no deben solaparse

copia n bytes entre dos áreas de memoria; al contrario que memcpy las
memmove
áreas pueden solaparse

busca un valor a partir de una dirección de memoria dada y devuelve un


memchr puntero a la primera ocurrencia del valor buscado o NULL si no se
encuentra

memcmp compara los n primeros caracteres de dos áreas de memoria

memset sobre escribe un área de memoria con un patrón de bytes dado

strcat añade una cadena al final de otra

strncat añade los n primeros caracteres de una cadena al final de otra

strchr localiza un carácter en una cadena, buscando desde el principio

strrchr localiza un carácter en una cadena, buscando desde el final

strcmp compara dos cadenas alfabéticamente ('a'!='A')

compara los n primeros caracteres de dos cadenas numéricamente


strncmp
('a'!='A')
strcoll compara dos cadenas según la colación actual ('a'=='A')

strcpy copia una cadena en otra

strncpy copia los n primeros caracteres de una cadena en otra

devuelve la cadena con el mensaje de error correspondiente al número


strerror
de error dado

strlen devuelve la longitud de una cadena

devuelve la posición del primer carácter de una cadena que no coincide


strspn
con ninguno de los caracteres de otra cadena dada

devuelve la posición del primer carácter que coincide con alguno de los
strcspn
caracteres de otra cadena dada

encuentra la primera ocurrencia de alguno de los caracteres de una


strpbrk
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 colación (??)

strrev invierte una cadena


Extensiones para C ISO

Nombre Descripción Especificación

hace un duplicado de la cadena


POSIX; originalmente una
strdup dada reservando dinámicamente la
extensión BSD
memoria necesaria

variante de strcpy que verifica los


strcpy s ISO/IEC WDTR 24731
límites limitados

variante de memcpy que devuelve


mempcpy un puntero al byte siguiente al GNU
último byte escrito

variante de memcpy que para al


memccpy UNIX 98?
encontrar un byte determinado

strerror r análogo a strerror_r (thread-safe) GNU, POSIX

originalmente OpenBSD,
variante de strcpy que verifica los
strlcpy actualmente
límites también FreeBSD, Solaris, OS X

strtok r versión thread-safe de strtok POSIX

análogamente a strerror , devuelve


la cadena por minorías del arreglo
strsignal
cadena en la representación de la
señal sig (no thread safe)

También podría gustarte