FICHEROS INCLUDE DE TURBO C
Los ficheros include definidos por el ANSI C van marcados con
un asterisco.
alloc.h Contiene funciones para manejo de memoria.
assert.h* Define el macro-debugger assert.
bios.h Contiene funciones que utilizan llamadas a ROM
BIOS.
conio.h Llamadas a rutinas I/O de consola del DOS.
ctype.h* Clasificaci¢n y conversi¢n de caracteres.
dir.h Estructuras, macros y funciones para trabajar
con directorios y nombres de path.
dos.h Define varias constantes y declaraciones
necesarias para el DOS y llamadas
espec¡ficas al 8086.
errno.h* Define constantes mnem¢nicas para c¢digos de
error.
fcntl.h Define constantes utilizadas en conexi¢n con la
librer¡a de funciones open.
float.h* Contiene par metros para rutinas en punto
flotante.
graphics.h Declara prototipos para funciones gr ficas.
io.h Contiene estructuras y declaraciones para
rutinas I/O de bajo nivel.
limits.h* Contiene par metros de entorno, informaci¢n en
torno a limitaciones en tiempo de compilaci¢n.
math.h* Declara prototipos de funciones matem ticas.
mem.h Declara funciones para manipulaci¢n de memoria.
process.h Contiene estructuras y declaraciones para
funciones spawn... y exec...
setjmp.h* Define un tipo jmp-buf utilizado por el longjmp
y setjmp.
share.h Define par metros utilizados en funciones a
utilizar por ficheros-sharing.
signal.h* Constes y declaraciones a utilizar en las
funciones signal y raise.
stdargs.h* Define los macros utilizados para leer la lista
de argumentos en funciones declaradas para
aceptar un n£mero variable de argumentos.
stddef.h* Define varios macros y datos comunes.
stdio.h* Define I/O standard UNIX.
stdlib.h* Rutinas de conversi¢n, b£squeda, ordenaci¢n
etc.
string.h* Manipulaci¢n de cadena y rutinas de memoria.
sys\stat.h Define constantes simb¢licas usadas para crear
y abrir ficheros.
sys\timeb.h Declara la funci¢n ftime y la estructura timeb.
sys\types.h Declara el tipo time_t usado en las funciones
time.
time.h* Estructuras para conversi¢n de rutinas time.
values.h Define constantes para compatibilidad UNIX.
VARIABLES GLOBALES
_argc
Funci¢n Contador de argumentos de la l¡nea de comandos.
Sintaxis extern int _argc;
Declarado dos.h
Nota: _argc contiene el valor de argc pasado a main al
arrancar el programa.
_argv
Funci¢n Array de punteros a argumentos de la l¡nea comandos.
Sintaxis extern char *_argv[];
Declarado dos.h
daylight
Funci¢n Indica si Daylight Savings Time tiene efecto.
Sintaxis extern int daylight;
Declarado time.h
Nota: dayliht es utilizado por las funciones de fecha y hora.
Tiene valor 1 para Daylight Savings Time y 0 para
Standard Time.
directvideo
Funci¢n Flag de control de salida video.
Sintaxis extern int directvideo;
Declarado conio.h
Nota: Controla si la salida del programa (por ejemplo en
cputs) accede directamente a la RAM video (directvideo =
1) o lo hace mediante llamadas ROM BIOS (directvideo =
0). El valor por defecto es 1.
_8087
Funci¢n Flag del coprocesador.
Sintaxis extern int _8087;
Declarado dos.h
Nota: La variable _8087 es puesta al valor 1, 2 o 3 con la
autodetecci¢n del coprocesador 8087, 80287 o 80387 de lo
contrario valdr 0.
environ
Funci¢n Acceso a variables de entorno del DOS.
Sintaxis extern char *environ[];
Declarado dos.h
Nota: environ es un array de punteros a cadenas, es utilizado
para acceder y alterar las variables de entorno del DOS.
errno, _doserrno, sys_errlist, sys_nerr
Funci¢n Permite a perror imprimir mensajes de error.
Sintaxis extern int errno;
extern int _doserrno;
extern char *sys_errlist[];
extern int sys_nerr;
Declarado errno.h, stdlib.h (_doserrno en dos.h).
_fmode
Funci¢n Determina el modo de lec./esc. de ficheros por
omisi¢n.
Sintaxis extern int _fmode;
Declarado fcntl.h
Nota: _fmode determina la apertura de los ficheros en modo
texto o binario. El valor por omisi¢n es O_TEXT, de lo
contrario O_BINARY.
_heaplen
Funci¢n Controla la longitud del near heap.
Sintaxis extern unsigned _heaplen;
Declarado dos.h
Nota: Especifica el tama¤o de near heap en el modelo de datos
small (tiny, small y medium). _heaplen no existe en los
modelos largos de memoria.
_osmajor, _osminor
Funci¢n Contiene el n£mero mayor y menor de versi¢n de DOS.
Sintaxis extern unsigned char _osmajor;
extern unsigned char _osminor;
Declarado dos.h
_psp
Funci¢n Contiene la direcci¢n del psp
Sintaxis extern unsigned int _psp;
Declarado dos.h
_stklen
Funci¢n Contiene el tama¤o de la pila.
Sintaxis extern unsigned _stklen;
Declarado dos.h
Nota: Especifica el tama¤o de pila para cualquiera de los seis
modelos de memoria. El m¡nimo tama¤o de pila es de 128
palabras.
timezone
Funci¢n Tiene la diferencia en seg. entre hora local y la
GMT
Sintaxis extern long timezone;
Declarado time.h
tzname
Funci¢n Array de punteros a nombres de zona horaria
Sintaxis extern char *tzname[2];
Declarado time.h
Nota: La variable global tzname es un array de punteros a
cadenas que contienen las abreviaturas a los nombres de
zonas horarias.
_versi¢n
Funci¢n Contiene el n£mero de versi¢n de DOS
Sintaxis extern unsigned int _versi¢n;
Declarado dos.h
LIBRERIAS DE TURBO C - alloc.h
brk()
Sintaxis: int brk(void *addr);
Declarado: alloc.h
Funci¢n: Cambia el lugar de asignaci¢n del segmento de
datos.
calloc()
Sintaxis: void *calloc(size_t n, size_t t);
Declarado: stdlib.h, alloc.h
Funci¢n: Esta funci¢n, asigna espacio de memoria para un array
de n elementos, de longitud t bytes cada uno de ellos.
coreleft()
Sintaxis: En tiny, small y medium:
unsigned coreleft(void);
En compact, large y huge:
unsigned long coreleft(void);
Declarado: alloc.h
Funci¢n: Devuelve la RAM libre.
farcalloc()
Sintaxis: void far *farcalloc(unsigned long num, unsigned
long unitsz);
Declarado: alloc.h
Funci¢n: Asigna memoria desde el far heap para un array de num
elementos de tama¤o unitsz cada uno. Esta funci¢n
devuelve un puntero al bloque asignado, o un NULL en caso
de no haber espacio.
farcoreleft()
Sintaxis: unsigned long farcoreleft(void);
Declarado: alloc.h
Funci¢n: Devuelve el tama¤o de memoria disponible en el far
heap.
farfree()
Sintaxis: void farfree(void far *bloque);
Declarado: alloc.h
Funci¢n: Libera el bloque del far heap dej ndolo disponible
para su utilizaci¢n.
farmalloc()
Sintaxis: void far *farmalloc(unsigned long nbytes);
Declarado: alloc.h
Funci¢n: Asigna un bloque del far heap de nbytes. En caso de
no poder hacerlo, devuelve NULL.
farrealloc()
Sintaxis: void far *farrealloc(void far *p, unsigned long
t);
Declarado: alloc.h
Funci¢n: Cambia el tama¤o de un bloque de memoria del far heap
previamente asignado mediante farmalloc o farcalloc. El
argumento p apunta al comienzo del bloque. t es el nuevo
tama¤o del bloque en bytes. Si no hay espacio o si t es 0
devuelve NULL.
free()
Sintaxis: void free(void *block);
Declarado: stdio.h, alloc.h
Funci¢n: Deja libre un bloque de memoria previamente asignado
con calloc, malloc o realloc.
malloc()
Sintaxis: void *malloc(size_t size);
Declarado: stdlib.h, alloc.h
Funci¢n: Reserva un bloque de memoria de tama¤o size y retorna
un puntero al comienzo de ella.
realloc()
Sintaxis: void *realloc(void *p, size_t t);
Declarado: alloc.h
Funci¢n: Cambia el tama¤o de un bloque de memoria previamente
asignado. p es un puntero que apunta al comienzo del
bloque. Si p es NULL, esta funci¢n se comporta igual que
malloc y asigna un nuevo bloque de t bytes. Si p no es
nulo, entonces a de ser un puntero devuelto por la
funci¢n malloc, calloc o por la propia realloc. El bloque
ha podido ser incluso liberado por free. El argumento t,
da el nuevo tama¤o del bloque en bytes.
sbrk()
Sintaxis: void *sbrk(int incr);
Declarado: alloc.h
Funci¢n: Cambia el espacio asignado al segmento de datos
increment ndolo en incr bytes.
LIBRERIAS DE TURBO C - assert.h
assert()
Sintaxis: void assert(int expresi¢n);
Declarado: assert.h stdio.h
Funci¢n: La macro assert() eval£a la expresi¢n que recibe como
argumento. Si el resultado es 0, escribe informaci¢n
sobre el error en el canal stderr y cancela la ejecuci¢n
del programa. De lo contrario, assert() no realiza
ninguna acci¢n.
El mensaje de error tiene la forma siguiente:
Assertion failed: fille (fichero), line (n£mero de linea)
Normalmente esta macro se utiliza para verificar que un
programa funciona correctamente, con la expresi¢n
dise¤ada de forma que es verdadera solo cuando no haya
errores.
LIBRERIAS DE TURBO C - bios.h
bioscom()
Sintaxis: int bioscom(int cmdo, char byte, int puerto);
Declarado: bios.h
Funci¢n: Esta funci¢n se utiliza para manipular un puerto
as¡ncrono de comunicaci¢n serie RS-232. El n£mero de
puerto 0 indica COM1, puerto 1 se refiere a COM2, etc. La
funci¢n emplea la interrupci¢n 0x14 del BIOS. El tipo de
operaci¢n que se lleva a cabo depende de cmodo.
ÉÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º cmodo ³ Significado º
ÇÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º 0 ³ Inicializa puerto º
º 1 ³ Env¡a un car cter º
º 2 ³ Recibe un car cter º
º 3 ³ Devuelve el estado del puerto º
º ³ º
ÈÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
Cuando se inicializa el puerto, el argumento byte tiene
un valor que se interpreta de la siguiente forma:
ÉÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º BITS ³ Significado º
ÇÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º 7, 6, 5 ³ baudios º
º 4, 3 ³ paridad º
º 2 ³ bits de parada (stop bits) º
º 1, 0 ³ bits de datos º
º ³ º
ÈÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
Los baudios se codifican de la forma siguiente:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º BAUDIOS ³ BITS º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º 9.600 ³ 111 º
º 4.800 ³ 110 º
º 2.400 ³ 101 º
º 1.200 ³ 100 º
º 600 ³ 011 º
º 300 ³ 010 º
º 150 ³ 001 º
º 110 ³ 000 º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
La paridad se codifica:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º PARIDAD ³ BITS º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º Sin paridad ³ 00 ¢ 10 º
º Impar ³ 01 º
º Par ³ 11 º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
El n£mero de bits de parada (stop bits) depende del valor
del bit correspondiente:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍ»
º BITS DE PARADA ³ BIT º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄĶ
º 2 bits de parada ³ = 1 º
º 1 bit de parada ³ = 0 º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍͼ
El n£mero de bits de datos se codifica:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍ»
º N§ DE BITS DA DATOS ³ BITS º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄĶ
º 7 bits ³ 10 º
º 8 bits ³ 11 º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍͼ
Por ejemplo 0XDF, programa el puerto con 4800 baudios,
paridad par, 2 bits de parada y 8 bits de datos. La
secuencia de bits es:
11011111
La funci¢n bioscom() devuelve un valor de 16 bits. El
byte alto contiene los bits de estado. Estos bits tienen
el siguiente significado:
BIT SIGNIFICADO (CUANDO ACTIVADO)
0 Car cter disponible. El programa puede realizar una
lectura del puerto (cmodo = 2).
1 Tamp¢n lleno (overrun). Se ha recibido un caracter
cuando el programa a£n no hab¡a vaciado el anterior.
Se han perdido caracteres.
2 Error de paridad
3 Error de trama. (framing error). El reconocimiento
del caracter es incorrecto.
4 Error de transmisi¢n. (break detect). Error en la
l¡nea.
5 Registro de transmisi¢n vac¡o. El programa puede
enviar un car cter (cmodo = 1):
6 Registro de desplazamiento de la informaci¢n est
vacio.
7 Finalizado el tiempo concedido (time out):
Cuando el argumento cmodo vale 0, 1 o 3, el byte bajo se
codifica como se indica a continuaci¢n:
BIT SIGNIFICADO (CUANDO ACTIVADO)
0 Delta clear to send. El CTS ha cambiado de estado
desde la £ltima lectura.
1 Delta set ready. El DSR ha cambiado de estado desde
la £ltima lectura.
2 Trailing edge ring indicator. El RI ha cambiado de
estado.
3 Delta receive line signal detect. El LSD ha cambiado
de estado.
4 Clear to send. Preparado para enviar
5 Data set ready. Equipo dispuesto
6 Ring indicator. Se¤al de llamada
7 Receive line signal detected.
Cuando cmodo es igual a 2, bioscom() realiza una lectura
del puerto y devuelve el byte leido.
biosdisk()
Sintaxis: int biosdisk(int cmd, int disco, int cara, int
pista, int sector, int nsects, void *buffer);
Declarado: bios.h
Funci¢n: Utiliza la interrupci¢n 0x13 de la BIOS para
operaciones de disco. disco es el n£mero de disco
utilizado: 0 para la disquetera 1, 1 para la segunda,
etc... Para discos duros, el valor de disco ser 0x80
para el primero, 0x81 para el segundo, etc...
cmd que operaci¢n se va a efectuar
Todas las operaciones ignoran la estructura l¢gica de
ficheros y directorios. Solo emplea sectores y pistas.
biosequip()
Sintaxis: int biosequip(void);
Declarado: bios.h
Funci¢n: Devuelve un entero comunicando el equipamiento del
sistema, que bit a bit informan de la forma siguiente:
bits 14-15 N§ de impresoras en paralelo.
bit 13 impresora serie conectada. Solo PCjr
bit 12 E/S para juegos conectado, no usado en AT
bit 9-11 N§ de puertos de serie.
bit 8 0 = si DMA. 1 = no DMA
bit 6-7 N§ de discos.
bit 5-4 Modo de video inicial. 00=sin usar,
01=40x25, 10=80x25 tarjeta color, 11=80x25
tarjeta mono.
bit 2-3 RAM en bloques de 16K.
bit 1 coprocesador matem tico.
bit 0 unidad de disco.
bioskey()
Sintaxis: int bioskey(int cmdo);
Declarado: bios.h
Funci¢n: Nos proporciona varias rutinas de teclado por medio
de la interrupci¢n 0x16 de la BIOS. El par metro cmdo
determina la operaci¢n exacta, si es 0, espera a que se
pulse una tecla y devuelve un valor de 2 bytes, el byte
bajo contiene el valor ASCII de la tecla, si es 0 indica
que es una tecla de control, en este caso el byte alto
contiene un valor que indica que tecla es. Si cmdo vale 1
la funci¢n revisa si se ha pulsado alguna tecla,
devolviendo 0 si no se ha pulsado ninguna y un valor
diferente de cero en caso contrario. Si cmdo vale 2 la
funci¢n devuelve en el byte bajo un valor representando
el estado de algunas teclas. El c¢digo es el siguiente:
ÉÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º BIT ³ SIGNIFICADO º
ÇÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º 0 ³ Pulsada la tecla Shift derecha º
º 1 ³ Pulsada la tecla Shift izquierda º
º 2 ³ Pulsada la tecla CTRL º
º 3 ³ Pulsada la tecla Alt º
º 4 ³ SCROLL LOCK activado º
º 5 ³ NUM LOCK activado º
º 6 ³ CAPS LOCK activado º
º 7 ³ Tecla INSERT activada º
ÈÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
biodmemory()
Sintaxis: int biosmemory(void);
Declarado: bios.h
Funci¢n: Devuelve el tama¤o de memoria en K.
biosprint()
Sintaxis: int biosprint(int cmdo, int byte, int port)
Declarado: bios.h
Funci¢n: Imprime utilizando los servicios BIOS. Si el
argumento port es 0, se refiere a LPT1, si es 1 a LPT2,
etc. Los valores de cmdo indican el tipo de funci¢n a
realizar.
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º ARGUMENTO ³ º
º cmdo ³ SIGNIFICADO º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º 0 ³ escribir byte º
º 1 ³ Inicializar el puerto º
º 2 ³ Devolver el estado del puerto º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
La funci¢n devuelve el estado del puerto codificado en el
byte bajo:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º BIT ³ SIGNIFICADO SI ACTIVADO º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º 0 ³ Error de time-out º
º 1, 2 ³ Sin usar º
º 3 ³ Error de E/S º
º 4 ³ Impresora conectada º
º 5 ³ Impresora sin papel º
º 6 ³ acuse de recibo (ACK) º
º 7 ³ Impresora lista para recibir datos º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
biostime()
Sintaxis: long biostime(int cmd, long newtime);
Declarado: bios.h
Funci¢n: Lee o graba la hora del reloj del sistema. Si cmd es
igual a 0, devuelve la hora actual, si es igual a 1 graba
el valor almacenado en newtime. La hora tanto leida como
grabada va especificada en ticks (tick = 18,2 por
segundo) LIBRERIAS DE TURBO C - conio.h
cgets()
Sintaxis: char *cgets(char *str);
Declarado: conio.h
Funci¢n: Lee una cadena de caracteres de consola almacen ndola
en str.
clreol()
Sintaxis: void clreol(void);
Declarado: conio.h
Funci¢n: Borra desde la posici¢n actual al final de la l¡nea
de la ventana de texto.
clrscr()
Sintaxis: void clrscr(void);
Declarado: conio.h
Funci¢n: Borra toda la pantalla de texto y coloca el cursor en
la posici¢n (1, 1).
cprintf()
Sintaxis: Igual que printf
Declarado: conio.h
Funci¢n: Salidas de texto por pantalla. esta funci¢n es 50
veces m s r pida que printf soportando los atributos de
texto.
cputs()
Sintaxis: int cputs(const char *str)
Declarado: conio.h
Funci¢n: Escribe la cadena str en la posici¢n actual del
cursor respetando los colores en curso.
cscanf()
Sintaxis: int cscan(char *formato[, direcci¢n, ...]);
Declarado: conio.h
Funci¢n: Coge entradas formateadas desde consola.
delline()
Sintaxis: void delline(void);
Declarado: conio.h
Funci¢n: Borra la l¡nea de la ventana de texto en la que
actualmente se encuentra el cursor.
getch()
Sintaxis: int getch(void);
Declarado: conio.h
Funci¢n: Lee un car cter desde el teclado sin visualizarlo.
getche()
Sintaxis: int getche(void);
Declarado: conio.h
Funci¢n: Lee un car cter desde teclado mandando eco a
pantalla.
getpass()
Sintaxis: char *getpass(const char *prompt);
Declarado: conio.h
Funci¢n: Lee un password desde la consola sin hacer eco.
gettext()
Sintaxis: int gettext(int izda, int sup, int dcha, int
abaj, void *destin);
Declarado: conio.h
Funci¢n: Copia de la pantalla de texto, el texto comprendido
entre las coordenadas dadas y lo graba en destin.
gettextinfo()
Sintaxis: void gettextinfo(struct text_info *r);
Declarado: conio.h
Funci¢n: Carga en la estructura r de tipo text_info,
informaci¢n en torno al modo texto actual. La estructura
es como sigue:
struct text_info {
unsigned char winleft; /* coord. izda de ventana*/
unsigned char wintop; /* " supe " " */
unsigned char winright; /* coord. dcha de ventana*/
unsigned char winbottom; /* " supe " " */
unsigned char attribute; /* atributo del texto */
unsigned char nomattr; /* atributo normal */
unsigned char currmode; /* BW40, BW80, C40 o C80 */
unsigned char screenheight; /* abajo - arriba */
unsigned char screenwidth; /* dcha - izda */
unsigned char curx; /* coord. x en la ventana actual */
unsigned char cury; /* " y " " " " */
};
gotoxy()
Sintaxis: void goto(int x, int y);
Declarado: conio.h
Funci¢n: Mueve el cursor a la posici¢n especificada por (x, y)
de la actual ventana de texto. La esquina superior izda
es la (1, 1).
highvideo()
Sintaxis: void highvideo(void);
Declarado: conio.h
Funci¢n: Aumenta la intensidad del texto que salga por
pantalla a partir de llamar a la funci¢n.
insline()
Sintaxis: void insline(void);
Declarado: conio.h
Funci¢n: Inserta una l¡nea en blanco en la posici¢n actual del
cursor en la ventana de texto.
kbhit()
Sintaxis: int kbhit(void);
Declarado: conio.h
Funci¢n: Chequea el teclado buscando el car cter
correspondiente a la tecla m s recientemente pulsada.
Esta funci¢n devuelve un valor distinto de 0 si se ha
pulsado una tecla, sino devuelve un 0.
lowvideo()
Sintaxis: void lowvideo(void);
Declarado: conio.h
Funci¢n: Hace que la siguiente salida en pantalla sea en baja
intensidad.
movetext()
Sintaxis: int movetext(int izda, int sup, int dcha, int
inf, int nuevaizda, int nuevoinf);
Declarado: conio.h
Funci¢n: Mueve el texto incluido entre izda, sup, dcha, inf
coloc ndolo en otra parte de la pantalla cuyo v‚rtice inferior
izquierdo viene dado por nuevaizda, nuevoinf.
normvideo()
Sintaxis: void normvideo(void);
Declarado: conio.h
Funci¢n: Pone el atributo de texto en modo normal.
putch()
Sintaxis: int putch(int c);
Declarado: conio.h
Funci¢n: Escribe el car cter c en pantalla
putchar()
Sintaxis: int putchar(int c);
Declarado: conio.h
Funci¢n: Escribe el car cter c en stdout.
puttext()
Sintaxis: int puttext(int izda, int sup, int dcha, int
abajo, void *fuente);
Declarado: conio.h
Funci¢n: Recupera un texto que est en memoria en el rea
apuntado por fuente sac ndolo en pantalla en las
coordenadas izda, sup, dcha, abajo.
textattr()
Sintaxis: void textattr(int nueatri);
Declarado: conio.h
Funci¢n: Establece el atributo de texto. nueatri es un valor
en el cual los bits 0 al 2 especifican el color del
primer plano, el bit 3 especifica la intensidad, los bits
4 al 6 especifican el fondo y el bit 7 especifica el modo
de parpadeo de la forma siguiente:
ÚÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄ¿
³ ³ ³ ³ ³ ³ ³ ³ ³
³ ³ R ³ G ³ B ³ ³ R ³ G ³ B ³
ÀÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ
bits 7 6 5 4 3 2 1 0
Si bit 7 = 0 entonces normal, si 1 entonces parpadeo.
Si bit 3 = 0 entonces normal, si 1 entonces brillante.
Colores de primer plano y de fondo:
000 = negro
001 = azul
010 = verde
011 = cian
100 = rojo
101 = magenta
110 = marr¢n
111 = blanco
textbackground()
Sintaxis: void textbackground(int nuecolor);
Declarado: conio.h
Funci¢n: Establece el color de fondo de texto mostrado a
trav‚s de cprintf, cputs y putch. Con esta funci¢n se
puede utilizar cualquiera de los colores de baja
intensidad pero no los de alta intensidad o el parpadeo,
los colores disponibles son:
0 = BLACK
1 = BLUE
2 = GREEN
3 = CYAN
4 = RED
5 = MAGENTA
6 = BROWN
7 = LIGTGRAY
textcolor()
Sintaxis: void textcolor(int nuecolor);
Declarado: conio.h
Funci¢n: Establece el color del primer plano o los bits del
primer plano del byte atributo de pantalla. El argumento
nuecolor puede ser un valor num‚rico o una constante
simb¢lica como sigue:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º Baja intensidad ³ Alta intensidad º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º 0 = BLACK ³ 8 = DARKGRAY º
º 1 = BLUE ³ 9 = LIGHTBLUE º
º 2 = GREEN ³ 10 = LIGHTGREEN º
º 3 = CYAN ³ 11 = LIGHTCYAN º
º 4 = RED ³ 12 = LIGHTRED º
º 5 = MAGENTA ³ 13 = LIGHTMAGENTA º
º 6 = BROWN ³ 14 = YELLOW º
º 7 = LIGTGRAY ³ 15 = WHITE º
º ³ 128 = BLINK º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
textmode()
Sintaxis: void textmode(int nuevomodo);
Declarado: conio.h
Funci¢n: Pone la pantalla en modo de texto. el par metro
nuevomodo puede ser:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º LASTMODE ³ -1 ³ Modo de texto anterior º
º BW40 ³ 0 ³ Blanco y negro 40 columnasº
º C40 ³ 1 ³ Color, 40 columnas º
º BW80 ³ 2 ³ Blanco y negro 80 columnasº
º C80 ³ 3 ³ Color, 80 columnas º
º MONO ³ 7 ³ Monocromo, 80 columnas º
º ³ ³ º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
ungetch()
Sintaxis: int ungetch(int ch);
Declarado: conio.h
Funci¢n: Devuelve a la memoria intermedia de la consola, el
£ltimo car cter le¡do, haciendo que este car cter sea el
pr¢ximo car cter a leer.
Devuelve el car cter ch si existe. Si el valor devuelto
es EOF, es que ha ocurrido un error.
wherex()
Sintaxis: int wherex(void);
Declarado: conio.h
Funci¢n: Devuelve en un valor entero la posici¢n horizontal
actual del cursor.
wherey()
Sintaxis: int wherey(void);
Declarado: conio.h
Funci¢n: Devuelve en un valor entero la posici¢n vertical
actual del cursor.
window()
Sintaxis: void window(int izda, int sup, int dcha, int
inf);
Declarado: conio.h
Funci¢n: Define una ventana de texto donde los cuatro
argumentos especifican los l¡mites de la fila y columna
del rect ngulo de la ventana de la pantalla de texto. Una
vez que se ha especificado una ventana de texto mediante
window, las funciones de manipulaci¢n de texto (para
mostrar en pantalla, mover en pantalla, borrar o insertar
texto, etc.) usan £nicamente la ventana y no toda la
pantalla.
LIBRERIAS DE TURBO C - ctype.h
isalnum()
Sintaxis: int isalnum(int c);
Declarado: ctype.h
Funci¢n: Mira si c es un car cter 'A -Z', 'a - z' o '1 - 9',
devolviendo un 0 en caso contrario.
isalpha()
Sintaxis: int isalpha(int c);
Declarado: ctype.h
Funci¢n: Mira si c es un car cter 'A -Z', 'a - z', devolviendo
un 0 en caso contrario.
isascii()
Sintaxis: int isascii(int c);
Declarado: ctype.h
Funci¢n: Mira si c es un car cter comprendido entre 0 y 127,
devolviendo un 0 en caso contrario.
iscntrl()
Sintaxis: int iscntrl(int c);
Declarado: ctype.h
Funci¢n: Comprueba si c es un car cter de control (0 - 31 y
127) devolviendo un 0 en caso contrario.
isdigit()
Sintaxis: int isdigit(int c);
Declarado: ctype.h
Funci¢n: Mira si c es un d¡gito '1 - 9', devolviendo un 0 en
caso contrario.
isgraph()
Sintaxis: int isgraph(int c);
Declarado: ctype.h
Funci¢n: Comprueba si c es un car cter escribible, exceptuando
el espacio (33 - 126), devolviendo un 0 en caso
contrario.
islower()
Sintaxis: int islower(int c);
Declarado: ctype.h
Funci¢n: Comprueba si c es una letra min£scula, devolviendo un
0 en caso contrario.
isprint()
Sintaxis: int isprint(int c);
Declarado: ctype.h
Funci¢n: Comprueba si c es un car cter escribible (32 - 126),
devolviendo un 0 en caso contrario.
ispunct()
Sintaxis: int ispunct(int c);
Declarado: ctype.h
Funci¢n: Comprueba si c es un car cter de puntuaci¢n,
devolviendo un 0 en caso contrario.
isspace()
Sintaxis: int isspace(int c);
Declarado: ctype.h
Funci¢n: Comprueba si c es un car cter espacio en blanco (9 -
13 o 32), devolviendo un 0 en caso contrario.
isupper()
Sintaxis: int isupper(int c);
Declarado: ctype.h
Funci¢n: Comprueba si c es una letra may£scula, devolviendo un
0 en caso contrario.
isxdigit()
Sintaxis: int isxdigit(int c);
Declarado: ctype.h
Funci¢n: Comprueba si c es un d¡gito hexadecimal, devolviendo
un 0 en caso contrario.
toascii()
Sintaxis: int toascii(int c);
Declarado: ctype.h
Funci¢n: Pone todos los bits de c excepto los 7 bits de menor
orden a 0. Esto es convierte c en un car cter ASCII.
_tolower()
Sintaxis: int _tolower(int c);
Declarado: ctype.h
Funci¢n: Es una macro que convierte c en min£scula si es
may£scula.
tolower()
Sintaxis: int _tolower(int c);
Declarado: ctype.h
Funci¢n: Es una funci¢n que convierte c en min£scula si es
may£scula.
_toupper()
Sintaxis: int _toupper(int c);
Declarado: ctype.h
Funci¢n: Es una macro que convierte c en may£scula si es
min£scula.
toupper()
Sintaxis: int _toupper(int c);
Declarado: ctype.h
Funci¢n: Es una funci¢n que convierte c en may£scula si es
min£scula.
LIBRERIAS DE TURBO C - dir.h
chdir()
Sintaxis: int chdir(const char *path);
Declarado: dir.h
Funci¢n: Cambia de directorio al especificado por path. Si
todo va bien, esta funci¢n devuelve 0, en caso contrario
devuelve -1.
findfirst()
Sintaxis: #include
#include
int findfirst(const char *path, struct ffblk
*ffblk, int atri);
Declarado: dir.h
Funci¢n: Busca en un directorio del disco. path es una cadena
opcional que indica el disco y directorio y ficheros,
pudiendo incluir comodines. Si los ficheros son
encontrados, la estructura ffblk es rellenada con la
informaci¢n correspondiente. La estructura ffblk es como
sigue:
struct ffblk {
char ff_reserved[2]; /* reservado para el DOS */
char ff_attrib; /* atributo */
char ff_time; /* hora del fichero */
char ff_date; /* fecha del fichero */
char ff_fsize; /* tama¤o fichero */
char ff_name[13] /* nombre del fichero */
};
atrib es un atributo del DOS, y puede ser uno de los
siguientes que est n declarados en dos.h:
FA_RDONLY archivo solo lectura.
FA_HIDDEN " oculto
FA_SYSTEM " sistema
FA_LABEL etiqueta de volumen
FA_DIREC directorio
FA_ARCH archivo
findnext()
Sintaxis: int findnext(struct ffblk *ffblk);
Declarado: dir.h
Funci¢n: Continua la b£squeda de findfirst. Esta funci¢n y la
anterior devuelven 0 si no hay errores, de lo contrario
devuelven -1. En este £ltimo caso, se asigna a errno el
valor ENOENT (nombre de fichero no encontrado) 0 ENMFILE
(no hay m s ficheros en el directorio).
fnmerge()
Sintaxis: void fnmerge(char *path, char *disco, char
*dir, char *nombre, char *ext);
Declarado: dir.h
Funci¢n: Forma el nombre de un fichero desde sus componentes.
El nuevo path ser :
X:\DIR\SUBDIR\NOMBRE.EXT
Donde
disco = X:
dir = \DIR\SUBDIR\
nombre= NOMBRE
ext = .EXT
fnsplit()
Sintaxis: int fnsplit(char *path, char *disco, char *dir,
char *nombre, char *ext);
Declarado: dir.h
Funci¢n: Separa el nombre de un fichero (path) en sus
componentes (disco, dir, nombre, ext). Esta funci¢n hace
justo lo contrario que la anterior.
getcurdir()
Sintaxis: int getcurdir(int *drive, char *directorio);
Declarado: dir.h
Funci¢n: Carga el nombre del directorio actual de trabajo en
directorio y el disco en drive. Devuelve -1 en caso de
error y 0 en otro caso.
getcwd()
Sintaxis: char *getcwd(char *path, int buflen);
Declarado: dir.h
Funci¢n: Obtiene el nombre del directorio actual de trabajo.
Copia el nombre de la v¡a de acceso del directorio actual
(incluyendo la unidad de disco) dentro de la cadena path,
buflen indica el n£mero m ximo de caracteres que el
programa permite en el nombre de la v¡a de acceso.
getdisk()
Sintaxis: int getdisk(void);
Declarado: dir.h
Funci¢n: Devuelve el n£mero del disco actual (0=A, 1=B, etc)
mkdir()
Sintaxis: int mkdir(const char *path);
Declarado: dir.h
Funci¢n: Crea el directorio especificado en path, retornando
0, en caso de error devuelve -1.
mktemp()
Sintaxis: char *mktemp(char *fnombre);
Declarado: dir.h
Funci¢n: Genera un nombre de fichero que no existe y lo copia
en la cadena se¤alada por fnombre. Cuando se llama a
mktemp(), la cadena se¤alada por fnombre debe contener el
caracter X repetido seis veces, y al final el caracter
nulo. La funci¢n mktemp() transforma esta cadena un un
£nico nombre de fichero. Sin embargo no crea el fichero.
En caso de ‚xito, devuelve un puntero a fnombre, en caso
contrario devuelve un nulo.
rmdir()
Sintaxis: int rmdir(char *path);
Declarado: dir.h
Funci¢n: Borra el directorio indicado en path. Funciona igual
que la instrucci¢n an loga del DOS. En caso de error
devuelve -1, y si la operaci¢n es correcta 0.
searchpath()
Sintaxis: char *searchpath(char *fichero);
Declarado: dir.h
Funci¢n: Intenta localizar fichero buscando por los
subdirectorios indicados en la orden del dos PATH:. Esta
funci¢n devuelve un puntero a la cadena del nombre de
fichero si este es encontrado o un NULL en caso
contrario.
setdisk()
Sintaxis: int setdisk(int drive);
Declarado: dir.h
Funci¢n: Selecciona el disco actual con el valor dado por
drive: 0 para A, 1 para B, 2 para C, etc...
Esta funci¢n devuelve el numero total de discos
disponibles.
LIBRERIAS DE TURBO C - dos.h
absread()
Sintaxis: int absread(int d, int ns, int ls, void
*buffer);
Declarado: dos.h
Funci¢n: Lee sectores espec¡ficos de disco. Ignora la
estructura l¢gica del disco no prestando atenci¢n a
ficheros, FATs o directorios. La lectura la hace v¡a
interrupci¢n Ox25.
d = N£mero de disco a leer (0=A, 1=B, etc.)
ns = N£mero de sectores a leer.
ls = N£mero de sector l¢gico de comienzo.
buffer = Direcci¢n de memoria donde se almacenan
los datos le¡dos
Si no hay error esta funci¢n devuelve 0, en caso
contrario devuelve -1 y coloca en errno el valor del
registro AX.
abswrite()
Sintaxis: int abswrite(int d, int ns, int ls, void
*buffer);
Declarado: dos.h
Funci¢n: Esta funci¢n es id‚ntica a la anterior hasta en los
valores que devuelve, solo que en lugar de leer del
disco, escribe en ‚l.
allocmem()
Sintaxis: int allocmem(unsigned tama¤o, unsigned *seg);
Declarado: dos.h
Funci¢n: Realiza una llamada al DOS con la interrupci¢n 0x48
para reservar un bloque de memoria. El bloque se ajusta
por p rrafos de 16 byts. La funci¢n asigna la direcci¢n
del segmento donde est el bloque en el entero apuntado
por seg. El argumento tama¤o especifica el n£mero de
p rrafos que se asignan.
Si se puede asignar la memoria solicitada, la funci¢n
devuelve un -1. Si no hay suficiente memoria libre, no se
asigna ningun valor a la variable apunatada por seg, y la
funci¢n devuelve el tama¤o del mayor bloque libre.
bdos()
Sintaxis: int bdos(int dosfun, unsigned dosdx, unsigned
dosal)
Declarado: dos.h
Funci¢n: Esta funci¢n llama al DOS para ejecutar la rutina
especificada por dosfun, despu‚s de copiar los valores
dosdx y dosal en los registros DX y AL. Para efectuar la
llamada esta funci¢n ejecuta la instrucci¢n INT 21H.
bdosptr()
Sintaxis: int bdosptr(int dosfun, void *argument,
unsigned dosal);
Declarado: dos.h
Funci¢n: Esta funci¢n permite acceso a diversas rutinas del
DOS, estas rutinas del sistema requieren un puntero a un
argumento utilizado. dosfun en el Manual de Referencia
del DOS.
En el modelo small el par metro argument ir en DX, en
los modelos largos ir en DS:DX.
En caso exitoso la funci¢n devolver un valor en AX. En
caso de error devolver -1.
country()
Sintaxis: struct country *country(int c¢digo, struct
country *ptr);
Declarado: dos.h
Funci¢n: Asigna valores a ciertos par metros concernientes a
un pa¡s. Devuelve un puntero a la estructura country que
se pasa como argumento. La estructura contiene la
siguiente informaci¢n:
struct country {
int co_date; /* formato de fecha */
char co_curr[5]; /* s¡mbolo de la moneda */
char co_thsep[2]; /* separador de miles */
char co_desep[2]; /* separador de decimales */
char co_dtsep[2]; /* separador de fecha */
char co_tmsep[2]; /* separador de hora */
char co_currstyle; /* formato de moneda */
char co_digits; /* d¡gitos significativos en
moneda */
int(far *co_case)() /* funci¢n de casos */
char co_dasep; /* separador de datos */
char co_fill[10]; /* relleno */
};
Si el argumento c¢digo contiene un 0, se asigna la
informaci¢n concerniente al pais en la estructura
apuntada por ptr. Si c¢digo contiene un valor diferente a
0, la informaci¢n de la estructura apuntada por ptr se
convierte en la nueva informaci¢n del pa¡s. El campo
co_date indica el formato de la fecha. En EE.UU. se
emplea el formato (mes,d¡a,a¤o), asignando a co_date el
valor 0. Si co_date contiene un 1, la fecha aparecer con
formato europeo: (dia,mes,a¤o). Si contiene un 2, aparece
como (a¤o,mes,d¡a). La forma como aparecen los caracteres
de moneda se indican con el campo co_currstyle. Puede
tener los siguientes valores:
ÉÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º VALOR ³ SIGNIFICADO º
ÇÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º 0 ³ el s¡mbolo precede al valor º
º 1 ³ el s¡mbolo va a continuaci¢n del valor º
º 2 ³ precede a valor con espacio de separaci¢nº
º 3 ³ despues de valor con espacio de separaci¢º
ÈÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
ctrlbrk()
Sintaxis: void ctrlbrk(int (*funci¢n)(void));
Declarado: dos.h
Funci¢n: Cuando se pulsa Ctrl+Break se ejecutar funci¢n.
Esta funci¢n interviene la interrupci¢n 0x23 desviando su
llamada a funci¢n. Cuando el programa termina Turbo C
devuelve el handler original del DOS.
delay()
Sintaxis: void delay(unsigned milisegundos);
Declarado: dos.h
Funci¢n: Esta funci¢n suspende la ejecuci¢n del programa
durante el intervalo especificado en milisegundos.
disable()
Sintaxis: void disable(void);
Declarado: dos.h
Funci¢n: Desautoriza las interrupciones, a excepci¢n de las no
enmascarables (NMI).
dosexterr()
Sintaxis: int dosexterr(atruct DOSERROR *eblkp);
Declarado: dos.h
Funci¢n: Esta funci¢n llena la estructura DOSERROR apuntada
por eblkp con informaci¢n en torno al error producido
despu‚s la utilizaci¢n de la £ltima funci¢n del DOS. La
estructura es de la forma siguiente:
struct DOSERROR {
int exterror; /* c¢digo de error */
char class; /* tipo de error */
char action; /* acci¢n recomendada */
char locus; /* lugar donde ocurri¢ el error
};
Esta funci¢n retorna el valor de exterror.
dostounix()
Sintaxis: long dostounix(struct date *d, struct time *t);
Declarado: dos.h
Funci¢n: Devuelve la fecha y hora dada por getdate y gettime
en formato UNIX. d apunta a una estructura de tipo date y
t a una de tipo time conteniendo informaci¢n en torno a
una fecha y hora v lida de DOS. El formato ANSI de la
fecha es el mismo que el de UNIX.
__emit__()
Sintaxis: void __emit__(argumento, ...);
Declarado: dos.h
Funci¢n: Inserta valores literales en el c¢digo objeto. Es
utilizado para introducir c¢digo m quina.
enable()
Sintaxis: void enable(void);
Declarado: dos.h
Funci¢n: Habilita las interrupciones de hardware.
FP_OFF()
Sintaxis: unsigned FP_OFF(puntfar);
Declarado: dos.h
Funci¢n: FP_OFF es una macro que se utiliza para obtener el
desplazamiento del puntero far puntfar.
FP_SEG()
Sintaxis: unsigned FP_SEG(puntfar);
Declarado: dos.h
Funci¢n: Es una macro que devuelve el segmento del puntero far
puntfar.
freemem()
Sintaxis: int freemem(unsigned segx);
Declarado: dos.h
Funci¢n: Libera un bloque de memoria previamente asignado con
allocmem. segx es la direcci¢n del segmento del bloque.
geninterrupt()
Sintaxis: void geninterrupt(int intr_num);
Declarado: dos.h
Funci¢n: Llama a la interrupci¢n intr_num. El estado de los
registros despu‚s de la llamada dependen de la
interrupci¢n.
getcbrk()
Sintaxis: int getcbrk(void);
Declarado: dos.h
Funci¢n: Indica el tipo de revisi¢n de la secuencia CTRL+BRK.
Devuelve 0 si el control es s¢lo en la Entrada/Salida y 1
si es en cada llamada a una funci¢n del DOS.
Este par metro se puede definir en la l¡nea de ordenes
del DOS, con la opci¢n BREAK.
getdate()
Sintaxis: void getdate(struct date *datep);
Declarado: dos.h
Funci¢n: Rellena la estructura de tipo date apuntada por datep
con el actual sistema de fecha.
El tipo de estructura date es como sigue:
struct date {
int da_year; /* a¤o actual */
char da_day; /* d¡a del mes */
char da_mon; /* mes (1= Enero) */
getdfree()
Sintaxis: void getdfree(unsigned char disco, struct dfree
*dtable);
Declarado: dos.h
Funci¢n: Chequea el disco indicado en disco (0=actual, 1=A,
etc..) rellenando la estructura dtable de tipo dfree, que
es como sigue:
struct dfree {
unsigned df_avail; /* clusters libres */
unsigned df_total; /* total clusters */
unsigned df_bsec; /* bytes por sector */
unsigned df_sclus; /* sectores por cluster */
};
getdta()
Sintaxis: char *far getdta(void);
Declarado: dos.h
Funci¢n: Devuelve la un puntero far al DTA del disco (disk
transfer address).
getfat()
Sintaxis: void getfat(unsigned char disco, struct fatinfo
*dtabla);
Declarado: dos.h
Funci¢n: Carga informaci¢n de la FAT del disco especificado
(0=actual, 1=A, etc) en la estructura dtabla de tipo
fatinfo que es del siguiente formato:
struct fatinfo {
char fi_sclus; /* sectores por cluster */
char fi_fatid; /* FAT en bytes */
int fi_nclus; /* n£mero de clusters */
int fi_bysec; /* bytes por sector */
};
getfatd()
Sintaxis: void getfatd(struct fatinfo *dtabla);
Declarado: dos.h
Funci¢n: Esta funci¢n es identica a la anterior solo se
diferencia en que la estructura es rellenada con el disco
actual.
getpsp()
Sintaxis: unsigned getpsp(void);
Declarado: dos.h
Funci¢n: Devuelve la direcci¢n del PSP (Prefijo del Segmento
de Programa).
gettime()
Sintaxis: void gettime(struct time *timep);
Declarado: dos.h
Funci¢n: Carga en la estructura timep de tipo time informaci¢n
en torno a la hora actual. La estructura es como sigue:
struct time {
unsigned char ti_min; /* minutos */
unsigned char ti_hour; /* horas */
unsigned char ti_hund; /* cent‚s. de seg. */
unsigned char ti_sec; /* segundos */
};
getvect()
Sintaxis: void interrupt(*getvect(int interrupno))();
Declarado: dos.h
Funci¢n: La funci¢n getvect lee el valor del vector de
interrupci¢n dado por interrupno y devuelve un puntero
far a la interrupci¢n.
getverify()
Sintaxis: int getverify(void);
Declarado: dos.h
Funci¢n: Devuelve el estado actual de verificaci¢n de flags 0
para off y 1 para on.
harderr()
Sintaxis: void harderr(int (*handler)());
Declarado: dos.h
Funci¢n: Reemplaza el handler de errores del DOS por uno
definido por el programador. El argumento es la nueva
funci¢n que se invocar cada vez que se produzca una
interrupci¢n 0x24. Esta funci¢n debe tener el siguiente
prototipo:
funci¢n(int errno, int ax, int bp, int si);
donde:
errno Es el c¢digo de errores del DOS.
ax,bp,si Contienen los valores de los registros de su
mismo nombre.
Si ax es mayor o igual que cero, indica un error de
disco. Si esto ocurre, se puede realizar la operaci¢n AND
con ax y 0xFF para conocer que disco di¢ el error. El
resultado ser 1 para A:, 2 para B:, etc.
Si ax es negativo, indica un error fatal de dispositivo.
Se debe consultar el manual de errores del DOS.
Hay que tener en cuenta que la rutina de interrupci¢n no
puede emplear funciones de E/S de la librer¡a, pues esta
no es reentrante, y solo se puede utilizar ciertas
llamadas al DOS, las n£meros 1 al 12.
La rutina de interrupci¢n termina con una llamada a la
funci¢n hardresume(), o a hardretn(), devolviendo un
c¢digo. Este c¢digo ser 0 para ignorar, 1 para repetir y
2 para abortar el proceso que gener¢ el error
hardresume()
Sintaxis: void hardresume(int axret);
Declarado: dos.h
Funci¢n: El indicador de error establecido por harderr puede
llamar a hardresume para volver al DOS.
hardretn()
Sintaxis: void hardretn(int retn);
Declarado: dos.h
Funci¢n: El indicador de error establecido con por harderr
puede ser devuelto directamente al programa llamando a
hardretn.
inport()
Sintaxis: int inport(int portid);
Declarado: dos.h
Funci¢n: Lee una palabra del puerto especificado por portid.
inportb()
Sintaxis: int inportb(int portid);
Declarado: dos.h
Funci¢n: Lee un byte del puerto especificado por portid.
int86()
Sintaxis: int int86(int n_int, union REGS *in_regs, union
REGS *out_regs);
Declarado: dos.h
Funci¢n: Es utilizada para llamar directamente a la
interrupci¢n n_int del DOS, para ello primero copia el
contenido de in_regs en los registros correspondientes, y
despu‚s de ejecutarse la interrupci¢n, copia los
registros en out_regs.
No utilizar esta funci¢n para interrupciones que
modifiquen el registro DS, en su lugar utilizar int86x o
intdosx.
int86x()
Sintaxis: int int86(int n_int, union REGS *in_regs, union
REGS *out_regs, struct SREGS *regs_seg);
Declarado: dos.h
Funci¢n: Ejecuta la interrupci¢n especificada por n_int, para
ello primero copia el contenido de in_regs y de regs_seg
en los registros correspondientes solo, de regs_seg son
utilizados los valores de los registros DS y ES , y
despu‚s de ejecutarse la interrupci¢n, copia los
registros en out_regs y los valores actuales de DS y ES,
restaurando DS. Esta funci¢n devuelve el contenido del
registro AX.
intdos()
Sintaxis: int intdos(union REGS *in_regs, union REGS
*out_regs);
Declarado: dos.h
Funci¢n: Llama a la rutina del DOS especificada por los
valores de los registros de in_regs. Para efectuar la
llamada, esta funci¢n ejecuta la instrucci¢n INT 21.
intdosx()
Sintaxis: int intdos(union REGS *in_regs, union REGS
*out_regs, struct SREGS *regs_seg);
Declarado: dos.h
Funci¢n: Llama a la rutina del DOS especificada por los
valores de los registros de in_regs. Para efectuar la
llamada, esta funci¢n ejecuta la instrucci¢n INT 21.
Antes de ejecutarse la interrupci¢n, esta funci¢n copia
el contenido de in_regs y de regs_seg en los registros
correspondientes.
intr()
Sintaxis: void intr(int intno, struct REGPACK *preg);
Declarado: dos.h
Funci¢n: Esta funci¢n es un interface alternativo para
ejecutar software de interrupciones, llamando a la
interrupci¢n intno. preg es la direcci¢n de una
estructura que contiene:
a) Los registros antes de la llamada.
b) El valor de los registros despu‚s de la llamada.
La estructura REGPACK es como sigue:
struct REGPACK {
unsigned r_ax, r_bx, r_cx, r_dx;
unsigned r_bp, r_si, r_di, r_ds, r_es, r_flags;
};
keep()
Sintaxis: void keep(unsigned char estado, unsigned size);
Declarado: dos.h
Funci¢n: Sale al DOS y queda residente, poniendo el estado de
salida en estado. El tama¤o del programa (size) se pone
en p rrafos. El estado se interpreta desde el DOS, o
desde el proceso que invoc¢ el programa. El DOS reserva
el espacio solicitado comenzando a partir de la direcci¢n
del PSP.
MK_FP()
Sintaxis: void far *MK_FP(unsigned seg, unsigned ofs);
Declarado: dos.h
Funci¢n: Es un macro que devuelve un puntero far mediante los
valores seg y ofs.
nosound()
Sintaxis: void nosound(void);
Declarado: dos.h
Funci¢n: Pone el altavoz del PC en off.
outport()
Sintaxis: void outport(int portid, int valor);
Declarado: dos.h
Funci¢n: Manda la palabra valor por el puerto identificado por
portid.
outportb()
Sintaxis: void outportb(int portid, unsigned char valor);
Declarado: dos.h
Funci¢n: Manda el byte valor por el puerto identificado por
portid.
parsfnm()
Sintaxis: char *parsfnm(char *nombref, struct fcb
*fcbptr, int opcion);
Declarado: dos.h
Funci¢n: Convierte un nombre de fichero en forma de cadena de
caracteres al formato requerido por el bloque de control
de ficheros (FCB). Una vez convertido, lo almacena en la
estructura fcb apuntada por el argumento fcbptr.
Esta funci¢n se emplea para asignar un valor al registro
AL antes de la llamada.
La funci¢n devuelve un puntero al siguiente byte despu‚s
del nombre del fichero. Si hay errores, devuelve un
puntero nulo.
La estructura fcb tiene la siguiente forma:
struct fcb {
char fcb_drive; 0= por defecto, 1=A, 2=B, etc
char fcb_name[8]; Nombre del fichero
char fcb_ext[3]; Extensi¢n del fichero
short fcb_curblk; N§ de bloque en curso
short fcb_recsize; Tama¤o de registro l¢gico
long fcb_filsize; Tama¤o del fichero;
short fcb_date; Fecha de £ltima escritura
char fcb_resv[10]; Reservado para DOS
char fcb_currec; Registro en curso
long fcb_random; N§ de registro aleatorio
};
peek()
Sintaxis: int peek(unsigned segment, unsigned despl);
Declarado: dos.h
Funci¢n: Devuelve la palabra cuya localizaci¢n en memoria es
segment:despl.
peekb()
Sintaxis: int peekb(unsigned segment, unsigned despl);
Declarado: dos.h
Funci¢n: Devuelve byte cuya localizaci¢n en memoria es
segment:despl.
poke()
Sintaxis: void poke(unsigned segment, unsigned despl, int
valor);
Declarado: dos.h
Funci¢n: Almacena el entero valor en la localizaci¢n de
memoria segment:despl.
pokeb()
Sintaxis: void poke(unsigned segment, unsigned despl,
char valor);
Declarado: dos.h
Funci¢n: Almacena el byte valor en la localizaci¢n de memoria
segment:despl.
randbrd()
Sintaxis: int randbrd(struct fcb *fcbptr, int n);
Declarado: dos.h
Funci¢n: Lee n registros desde el DTA (Direcci¢n de
transferencia de datos del disco). Los registros leidos
se almacenan en las estructuras de tipo fcb, apuntadas
por el argumento fcbptr. La estructura fcb tiene la
siguiente forma:
struct fcb {
char fcb_drive; 0= por defecto, 1=A, 2=B, etc
char fcb_name[8]; Nombre del fichero
char fcb_ext[3]; Extensi¢n del fichero
short fcb_curblk; N§ de bloque en curso
short fcb_recsize; Tama¤o de registro l¢gico
long fcb_filsize; Tama¤o del fichero;
short fcb_date; Fecha de £ltima escritura
char fcb_resv[10]; Reservado para DOS
char fcb_currec; Registro en curso
long fcb_random; N§ de registro aleatorio
};
La funci¢n randbrd() emplea la funci¢n 0x27 del DOS para
leer los registros.
Puede devolver los valores siguientes:
0 No hubo errores.
1 Encontrado un EOF pero el £ltimo registro est
completo.
2 Demasiados registros.
3 Encontrado EOF y el £ltimo registro est incompleto
randbwr()
Sintaxis: int randbwr(struct fcb *fcbptr, int n);
Declarado: dos.h
Funci¢n: Es similar a la funci¢n anterior. Emplea la funci¢n
0x28 del DOS para escribir los registros de tipo fcb
apuntados por fcbptr
segread()
Sintaxis: void segread(struct SREGS *regs_reg);
Declarado: dos.h
Funci¢n: Copia en una estructura de tipo SREGS apuntada por
regs_seg, el contenido de los registros de segmento. La
estructura es como sigue:
struct SREGS {
unsigned int es;
unsigned int cs;
unsigned int ss;
unsigned int ds;
};
setblock()
Sintaxis: int setblock(unsigned segx, unsigned tama¤o);
Declarado: dos.h
Funci¢n: Modifica el tama¤o de un bloque previamente asignado
mediante allocmmem. El bloque es segx, y el nuevo tama¤o
es tama¤o.
setcbrk()
Sintaxis: int setcbrk(int valor);
Declarado: dos.h
Funci¢n: Activa o desactiva la funci¢n de Ctrl+Break. Si valor
es 0 lo pone en off, si es 1 en on.
setdate()
Sintaxis: void setdate(struct date *fecha);
Declarado: dos.h
Funci¢n: Carga la fecha del DOS en la estructura de tipo date
fecha. La estructura es como sigue:
struct date {
int da_year;
char da_day;
char da_mon;
};
setdta()
Sintaxis: void setdta(char far *dta);
Declarado: dos.h
Funci¢n: Cambia la actual selecci¢n del disco del DOS
trasfiri‚ndolo a la direcci¢n (DTA) del valor dado por
dta.
settime()
Sintaxis: void settime(struct time *timep);
Declarado: dos.h
Funci¢n: Selecciona la hora del sistema en la estructura timep
de tipo time, que es como sigue:
struct time {
unsigned char ti_min;
unsigned char ti_hour;
unsigned char ti_hund; /*cent‚simas de seg*/
unsigned char ti_sec;
};
setvect()
Sintaxis: void setvect(int inter, void interrupt
(*isr)());
Declarado: dos.h
Funci¢n: Almacena la direcci¢n de la rutina de interrupci¢n
isr en la tabla de vectores de interrupci¢n. La posici¢n
viene indicada por intr
setverify()
Sintaxis: void setverify(int valor);
Declarado: dos.h
Funci¢n: Selecciona la verificaci¢n de escritura en disco. Si
valor = 0, la verificaci¢n est en off, si valor = 1 est
en on.
sleep()
Sintaxis: void sleep(unsigned segundos);
Declarado: dos.h
Funci¢n: Suspende la ejecuci¢n durante un intervalo de
segundos especificado en segundos.
sound()
Sintaxis: void sound(unsigned frecuencia);
Declarado: dos.h
Funci¢n: Pone el altavoz sonando. frecuencia es un valor
entero perteneciente a un tono (frecuencia) en hercios.
El tono empieza cuando el programa llama a sound,
contin£a mientras la CPU ejecuta otro c¢digo y termina
solo cuando el programa llama a nosound.
unixtodos()
Sintaxis: void unixtodos(long time, struct date *d,
struct time *t);
Declarado: dos.h
Funci¢n: Convierte el formato UNIX dado en time en formato DOS
y llena las estructuras de tipo date y time apuntadas por
d y t.
unlink()
Sintaxis: int unlink(const char *path);
Declarado: dos.h, io.h, stdio.h
Funci¢n: Borra el fichero especificado por path devolviendo 0.
un valor -1 indica error.
LIBRERIAS DE TURBO C - errno.h
Contiene constantes, tipos de datos y variables globales LIBRERIAS DE TURBO C - fcntl.h
Contiene los flags de apertura de ficheros o de funciones
similares de librer¡a. Estos flags son:
O_APPEND O_RDWR
O_BINARY O_TEXT
O_CREAT O_TRUNC
O_EXCL O_WRONLY
O_RDONLY
LIBRERIAS DE TURBO C - float.h
_clear87()
Sintaxis: unsigned int _clear87(void);
Declarado: float.h
Funci¢n: Inicializa la palabra de estado del coprocesador
matem tico 8087/80287.
_control87()
Sintaxis: unsigned int _control87(unsigned int new,
unsigned int mask);
Declarado: float.h
Funci¢n: Carga o descarga el coprocesador.
_fpreset()
Sintaxis: void _fpreset(void);
Declarado: float.h
Funci¢n: Esta funci¢n reinicializa el sistema aritm‚tico de
punto flotante. Puede ser necesario inicializar las
rutinas de punto flotante despu‚s de ejecutar las
funciones system(), exec(), spawn() o signal().
_status87()
Sintaxis: unsigned int _status87(void);
Declarado: float.h
Funci¢n: devuelve el valor de la palabra de estado del
coprocesador matem tico.
LIBRERIAS DE TURBO C - graphics.h
arc()
Sintaxis: void far arc(int x, int y, int ang1, int ang2,
int rad)
Declarado: graphics.h
Funci¢n: Dibuja un arco circular en el color en curso con
centro en (x, y) y radio rad comenzando en ang1 y
terminando en ang2. Cero grados ser¡a a las 3 del reloj y
90 grados a las 12.
bar()
Sintaxis: void far bar(int izda, int arriba, int dcha,
int abajo)
Declarado: graphics.h, conio,h
Funci¢n: Dibuja una barra rectangular de 2 dimensiones. La
barra es rellenada utilizando el color de relleno en
curso, definido previamente con la funci¢n
setfillpattern().
bar3d()
Sintaxis: void far bar3d(int izda, int arriba, int dcha,
int abajo, int prof, int flag);
Declarado: graphics.h
Funci¢n: Dibuja una barra tridimensional y la rellena
utilizando la paleta de relleno en curso. La profundidad
en pixels viene dada por prof. Si flag no es cero el
efecto tridimensional es puesto arriba.
circle()
Sintaxis: void far circle(int x, int y, int radio);
Declarado: graphics.h
Funci¢n: Dibuja un circulo en el color actual, con centro en
(x, y) y de radio.
cleardevice()
Sintaxis: void far cleardevice(void);
Declarado: graphics.h
Funci¢n: Esta funci¢n borra toda la pantalla gr fica, y deja
la posici¢n actual en (0, 0).
clearviewport()
Sintaxis: void far clearviewport(void);
Declarado: graphics.h
Funci¢n: Limpia la ventana de dibujo en curso dej ndola del
color de fondo. La ventana deja de existir despues de la
ejecuci¢n de esta funci¢n.
closegraph()
Sintaxis: void far closegraph(void);
Declarado: graphics.h
Funci¢n: Restaura el modo que tenia la pantalla antes de
ejecutarse initgraph(). Desactiva el entorno gr fico del
DOS.
detectgraph()
Sintaxis: void far detectgraph(int far *g_driver, int far
g_modo);
Declarado: graphics.h
Funci¢n: Establece en g_driver el tipo de adaptador gr fico
disponible por el ordenador y escoge en g_modo el modo de
mayor resoluci¢n gr fica que da el adaptador. Si se
detecta que no hay hardware gr fico g_driver es puesto
a -2.
Valores para g_driver:
--------------------------------------------------
Valor figurativo Valor num‚rico
--------------------------------------------------
DETECT 0 (ruega autodetecci¢n)
CGA 1
MCGA 2
EGA 3
EGA64 4
EGAMONO 5
IBM8514 6
HERCMONO 7
ATT400 8
VGA 9
PC3270 10
--------------------------------------------------
Valores de g_modo:
-------------------------------------------------------
Filas x
Tarjeta modo Valor Columnas paleta pag.
-------------------------------------------------------
CGA CGAC0 0 320x200 C0 1
CGAC1 1 320x200 C1 1
CGAC2 2 320x200 C2 1
CGAC3 3 320x200 C3 1
CGAHI 4 640x200 2 color 1
MCGA MCGAC0 0 320x200 C0 1
MCGAC1 1 320x200 C1 1
MCGAC2 2 320x200 C2 1
MCGAC3 3 320x200 C3 1
MCGAMED 4 640x200 2 color 1
MCGAHI 5 640x200 2 color 1
EGA EGALO 0 640x200 16 color 4
EGAHI 1 640x350 4 color 2
EGA64 EGA64LO 0 640x200 16 color 1
EGA64HI 1 640x350 4 color 1
EGAMONO EGAMONOHI 3 640x350 2 color 1*
EGAMONOHI 3 640x350 2 color 2**
HERC HERCMONOHI 0 750x348 2 color 2
ATT400 ATT40C0 0 320x200 C0 1
ATT40C1 1 320x200 C1 1
ATT40C2 2 320x200 C2 1
ATT40C3 3 320x200 C3 1
ATT40MED 4 640x200 2 color 1
ATT40HI 5 640x00 2 color 1
VGA VGALO 0 640x200 16 color 2
VGAMED 1 640x350 16 color 2
VGAHI 2 640x480 16 color 1
PC3270 PC3270HI 0 720x350 2 color 1
IBM8514 IBM8514LO 0 640x480 256 color
IBM8514HI 0 1024x768 256 color
* 64K en tarjeta EGAMONO
** 256k en tarjeta EGAMONO
drawpoly()
Sintaxis: void far drawpoly(int num_esquinas, int
polypoints)
Declarado: graphics.h
Funci¢n: Dibuja las l¡neas de salida de un pol¡gono, donde el
n£mero de esquinas es num_esquinas y las coordenadas x, y
de cada esquina est n en el array polypoints. Por
ejemplo:
int polypoints[] = {160, 50, 140, 80, 180, 80};
drawpoly(3, polypoints);
ellipse()
Sintaxis void far ellipse(int x, int y, int ang_comi,
int ang_fin, int xradio, int yradio);
Declarado: graphics.h
Funci¢n: Dibuja un arco el¡ptico en la pantalla gr fica con
centro en (x, y) comenzando en ang_comi y terminando en
ang_fin. Cero grados ser¡a a las 3 del reloj y 90 grados
a las 12. xradio es el radio curvatura a lo largo del eje
x (horizontal), e yradio es el radio de curvatura a lo
largo del eje y (vertical).
fillellipse()
Sintaxis: void far fillellipse(int x, int y, int radx,
int rady);
Declarado: graphics.h
Funci¢n: Dibuja y rellena con los colores en curso una elipse
con centro en x, y y radx y rady como ejes horizontal y
vertical.
fillpoly()
Sintaxis: void far fillpoly(int numpunt, int far
*polipoints);
Declarado: graphics.h
Funci¢n: Dibuja un pol¡gono de numpunt puntos en el estilo de
l¡nea actual. poliponints es un array con los pares de
coordenadas de cada punto.
floodfill()
Sintaxis: void far floodfill(int x, int y, int col_bord);
Declarado: graphics.h
Funci¢n: Rellena la zona en la que est situado x, y, siendo
el color del borde col_bord. El color de relleno est
especificado por el valor actual de setcolor o por la
funci¢n setfillstyle.
getarccoords()
Sintaxis: void far getarccoords(struct arccoordstype far
*arccoords);
Declarado: graphics.h
Funci¢n: Rellena la estructura apuntada por arccoords con
informaci¢n de la £ltima llamada a arc. La estructura
arccoordstype es como sigue:
struct arccoordstype {
int x, y;
int xstart, ystart, xend, yend;
};
Los miembros de esta estructura son utilizados para
especificar el centro (x, y), la posici¢n de comienzo
(xstart, ystart) y la posici¢n de finalizaci¢n (xend,
yend).
getaspectratio()
Sintaxis: void far getaspectratio(int far *xasp, int far
*yasp);
Declarado: graphics.h
Funci¢n: Hace los ajustes para poder ver por pantalla c¡rculos
perfectos.
getbkcolor()
Sintaxis: int far getbkcolor(void);
Declarado: graphics.h
Funci¢n: Devuelve el n£mero de color de fondo.
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍ»
º MACROS ³ VALOR º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄĶ
º BLACK ³ 0 º
º BLUE ³ 1 º
º GREEN ³ 2 º
º CYAN ³ 3 º
º RED ³ 4 º
º MAGENTA ³ 5 º
º BROWN ³ 6 º
º LIGHTGRAY ³ 7 º
º DARKGRAY ³ 8 º
º LIGHTBLUE ³ 9 º
º LIGHTGREEN ³ 10 º
º LIGHTCYAN ³ 11 º
º LIGHTRED ³ 12 º
º LIGHTMAGENTA ³ 13 º
º YELLOW ³ 14 º
º WHITE ³ 15 º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍͼ
getcolor()
Sintaxis: int far getcolor(void);
Declarado: graphics.h
Funci¢n: Devuelve el color actual de dibujo.
getdefaultpalette()
Sintaxis: void far *far getdefaultpalette(void);
Declarado: graphics.h
Funci¢n: Busca en la estructura palettetype donde est
contenida la paleta devolviendo un puntero a la paleta
actual.
getdrivername()
Sintaxis: char *far getdrivername(void);
Declarado: graphics.h
Funci¢n: Devuelve un puntero a una cadena que contiene el
nombre del drive gr fico actual.
getfillpattern()
Sintaxis: void far getfillpattern(char far *patron);
Declarado: grphics.h
Funci¢n: Copia en memoria el patr¢n de relleno definido.
patron es un puntero a una secuencia de 8 bits, que
corresponden a 8 pixels del patr¢n.
getfillsettings()
Sintaxis: void far getfillsettings(struct
fillsettingstype far *info);
Declarado: graphics.h
Funci¢n: Asigna a la estructura apuntada por info el n£mero
correspondiente al patr¢n de relleno y el color en curso.
La estructura tiene la forma:
struct fillsettingstype {
int pattern; /* patr¢n de relleno actual */
int color; /* color de relleno actual */
};
Los valores que puede tener el patr¢n son los siguientes:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º MACRO ³ VALOR ³ MODO DE RELLENO º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º EMPTY_FILL ³ 0 ³ Color de fondo º
º SOLID_FILL ³ 1 ³ Color s¢lido º
º LINE_FILL ³ 2 ³ Con lineas º
º LTSLASH_FILL ³ 3 ³ Con barras finas º
º SLASH_FILL ³ 4 ³ Con barras º
º BKSLASH_FILL ³ 5 ³ Con barras invertidas º
º LTBKSLASH_FILL ³ 6 ³ Barras invertidas finas º
º XHATCH_FILL ³ 8 ³ Rellenar con sombreado º
º INTERLEAVE_FILL ³ 9 ³ Rellenar intercalado º
º WIDEDOT_FILL ³ 10 ³ Con puntos muy espaciados º
º CLOSEDOT_FILL ³ 11 ³ Con puntos agrupados º
º USER_FILL ³ 12 ³ Con patr¢n usual º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
getgraphmode()
Sintaxis: int far getgraphmode(void);
Declarado: graphics.h
Funci¢n: Devuelve el modo gr fico actual seleccionado con
initgraph o setgraphmode.
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º MACRO ³ VALOR ³ RESOLUCION º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º CGAC0 ³ 0 ³ 320 X 200 º
º CGAC1 ³ 1 ³ 320 X 200 º
º CGAC2 ³ 2 ³ 320 X 200 º
º CGAC3 ³ 3 ³ 320 X 200 º
º CGAHI ³ 4 ³ 640 X 200 º
º MCGAC0 ³ 0 ³ 320 X 200 º
º MCGAC1 ³ 1 ³ 320 X 200 º
º MCGAC2 ³ 2 ³ 320 X 200 º
º MCGAC3 ³ 3 ³ 320 X 200 º
º MCGAMED ³ 4 ³ 640 X 200 º
º MCGAHI ³ 5 ³ 640 X 200 º
º EGALO ³ 0 ³ 640 X 200 º
º EGAHI ³ 1 ³ 640 X 350 º
º EGA64LO ³ 0 ³ 640 X 200 º
º EGA64HI ³ 1 ³ 640 X 350 º
º EGAMONOHI ³ 3 ³ 640 X 350 º
º HERCMONOHI ³ 0 ³ 720 X 348 º
º ATT400C0 ³ 0 ³ 320 X 200 º
º ATT400C1 ³ 1 ³ 320 X 200 º
º ATT400C2 ³ 2 ³ 320 X 200 º
º ATT400C3 ³ 3 ³ 320 X 200 º
º ATT400CMED ³ 4 ³ 640 X 200 º
º ATT400CHI ³ 5 ³ 640 X 400 º
º VGALO ³ 0 ³ 640 X 200 º
º VGAMED ³ 1 ³ 640 X 350 º
º VGAHI ³ 2 ³ 640 X 480 º
º PC3270HI ³ 0 ³ 720 X 350 º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
getimage()
þSintaxis:þoid far getimage(int izda, int sup, int dcha,
int inf, void far *bitmap);
Declarado: graphics.h
Funci¢n: Copia una imagen rectangular de bits de la pantalla
gr fica en un array de elementos unsigned char apuntado
por bitmap.
getlinesettings()
Sintaxis: void far getlinesettings(struct
linesettingstype far *info);
Declarado: graphics.h
Funci¢n: Asigna a la estructura apuntada por info el tipo de
linea en curso. La estructura linesettingstyle tiene la
forma siguiente:
struct linesettingstyle {
int linestyle;
unsigned upattern;
int thickness;
};
El campo linestyle indica el estilo de l¡nea. Contiene
uno de los siguientes valores:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º VALOR ³ SIGNIFICADO º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º SOLID_LINE ³ L¡nea continua º
º DOTTED_LINE ³ L¡nea punteada º
º CENTER_LINE ³ L¡nea centrada º
º DASHED_LINE ³ Guiones º
º USERBIT_LINE ³ Definida por el usuario º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
Si linestyle es igual a USERBIT_LINE, el campo upattern
determina como aparece la l¡nea. Cada bit de upattern
corresponde a un pixel. Si un bit est activado, el pixel
tambi‚n lo est .
El campo thickness puede contener estos valores:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º VALOR ³ SIGNIFICADO º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º NORM_WIDTH ³ 1 pixel de ancho º
º THICK_WIDTH ³ 3 pixels de ancho º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
getmaxcolor()
Sintaxis: int far getmaxcolor(void);
Declarado: graphics.h
Funci¢n: Devuelve el m ximo de color disponible del modo
gr fico actual que puede ser pasado por la funci¢n
setcolor.
getmaxx()
Sintaxis: int far getmaxx(void);
Declarado: graphics.h
Funci¢n: Devuelve el m ximo valor que puede ser tomado por la
coordenada x en el modo gr fico actual.
getmaxy()
Sintaxis: int far getmaxy(void);
Declarado: graphics.h
Funci¢n: Devuelve el m ximo valor que puede ser tomado por la
coordenada y en el modo gr fico actual.
getmodename()
Sintaxis: char far *getmodename(int num_modo);
Declarado: graphics.h
funci¢n: Devuelve un puntero a una cadena que contiene el
nombre del modo gr fico para el n£mero especificado en
num_modo.
getmoderange()
Sintaxis: void far getmoderange(int graphdriver, int far
*bajmodo, int far *supmodo);
Declarado: graphics.h
Funci¢n: Carga el rango y modo gr fico v lido para el driver
gr fico indicado en graphdriver, el m¡nimo valor
permitido es cargado en bajmodo y el m ximo en supmodo.
Los posibles valores de graphdriver son:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍ»
º MACRO ³ VALOR º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄĶ
º DETECT ³ 0 º
º CGA ³ 1 º
º MCGA ³ 2 º
º EGA ³ 3 º
º EGA64 ³ 4 º
º EGAMONO ³ 5 º
º RESERVED ³ 6 º
º HERCMONO ³ 7 º
º ATT400 ³ 8 º
º VGA ³ 9 º
º PC3270 ³ 10 º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍͼ
getpalette()
Sintaxis: void far getpalette(struct palettetype far
*palette);
Declarado: graphics.h
Funci¢n: Carga informaci¢n en torno a la paleta actual en la
estructura palette de tipo palettetype que tiene la
siguiente forma:
#define MAXCOLORS 15
struct palettetype {
unsigned char size;
signed char colors[MAXCOLORS + 1];
};
Esta estructura y la constante MAXCOLORS est n definidas
en graphis.h.
size contiene el n£mero de colores de la paleta para el
modo gr fico actual.
getpalettesize()
Sintaxis: int far getpalettesize(void);
Declarado: graphics.h
Funci¢n: Devuelve el n£mero de paletas que pueden ser
utilizadas en el modo gr fico actual.
getpixel()
Sintaxis: unsigned far getpixel(int x, int y);
Declarado: graphics.h
Funci¢n: Devuelve el color del pixel x, y.
gettextsettings()
Sintaxis: void far gettextsettings(struct
textsettingstype far *texttypeinfo);
Declarado: graphics.h
Funci¢n: Carga informaci¢n en la estructura texttypeinfo de
tipo textsettingstype en torno al texto del modo gr fico
actual. La estructura es como sigue:
struct textsettingstype {
int font; /* tipo */
int direction; /* horizontal o vertical */
int charsize; /* tama¤o */
int horiz; /* justificaci¢n horizontal */
int vert; /* justificaci¢n vertical */
};
El campo font contiene uno de los valores:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º TIPO ³ VALOR ³ SIGNIFICADO º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º DEFAULT_FONT ³ 0 ³ Por defecto 8x8 bits º
º TRIPLEX_FONT ³ 1 ³ Triple º
º SMALL_FONT ³ 2 ³ Peque¤o º
º SANSSERIF ³ 3 ³ Sans serif (o lineal) º
º GOTHIC_FONT ³ 4 ³ G¢tico º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
El campo direction de contener el valor HORIZ_DIR para
texto horizontal (por defecto) o el valor VERT_DIR para
texto vertical.
El campo charsize se emplea para calcular los tama¤os de
texto.
Los campos horiz y vert indican c¢mo se justifica el
texto con respecto a la posici¢n del cursor. Pueden
contener los valores siguientes:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º MACRO ³ VALOR ³ SIGNIFICADO º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º LEFT_TEXT ³ 0 ³ Posici¢n a la izquierdº
º CENTER_TEXT ³ 1 ³ Posici¢n en el centro º
º RIGHT_TEXT ³ 2 ³ Posici¢n a la derecha º
º BOTTOM_TEXT ³ 3 ³ Posici¢n abajo º
º TOP_TEXT ³ 4 ³ Posici¢n arriba º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
getviewsettings()
Sintaxis: void far getviewsettings(struct viewporttype
far *info);
Declarado: graphics.h
Funci¢n: Almacena en la estructura apuntada por info la
informaci¢n de la ventana en curso. La estructura
contiene los elementos siguientes:
struct wiewporttype {
int left, top, right, bottom;
int clipflag;
};
getx()
Sintaxis: int far getx(void);
Declarado: graphics.h
Funci¢n: Devuelve el valor de la coordenada x del cursor en la
pantalla o en la ventana.
gety()
Sintaxis: int far getx(void);
Declarado: graphics.h
Funci¢n: Devuelve el valor de la coordenada y del cursor en la
pantalla o en la ventana.
graphdefaults()
Sintaxis: void far graphdefaults(void);
Declarado: graphics.h
Funci¢n: borra las opciones gr ficas actuales dejando las de
por defecto.
Selecciona como ventana la pantalla completa.
Mueve la posici¢n del cursor a (0, 0).
Selecciona por defecto la paleta, fondo y dibujo.
Selecciona font de texto y justificaci¢n por defecto.
grapherrormsg()
Sintaxis: char *far grapherrormsg(int errorcode);
Declarado: graphics.h
Funci¢n: Devuelve un puntero a la cadena de mensaje de error
asociada a errorcode. Este error se obtiene de una
llamada a graphresult().
_graphfreemem()
Sintaxis: void far _graphfreemem(void far *ptr, unsigned
size);
Declarado: graphics.h
Funci¢n: Libera memoria previamente asignada con _graphgetmem.
_graphgetmem()
Sintaxis: void far *far _graphgetmem(unsigned size);
Declarado: graphics.h
Funci¢n: Esta funci¢n es llamada para disponer memoria para
buffers gr ficos.
graphresult()
Sintaxis: int far graphresult(void);
Declarado: graphics.h
Funci¢n: Devuelve el c¢digo de error de la £ltima operaci¢n
gr fica. Valores retornados:
0 No hay error.
-1 (BGI) no instalado.
-2 hardware gr fico no detectado.
-3 Dispositivo de fichero no encontrado.
-4 dispositivo de fichero inv lido
-5 No hay espacio en memoria para cargar driver.
-6 Fuera de memoria en scan fill.
-7 Fuera de memoria en flood fill.
-8 Fichero de Font no encontrado
-9 No hay espacio para cargar font
-10 Modo gr fico no valido
-11 Error gr fico
-12 Error I/O gr fico
-13 Fichero de font no valido
-14 Inv lido n£mero de font
-15 N£mero de dispositivo no v lido
-18 N£mero de versi¢n no valida.
imagesize()
Sintaxis: unsigned far imagesize(int izda, int sup, int
dcha, int abajo);
Declarado: graphics.h
Funci¢n: Devuelve el n£mero de bytes necesarios para almacenar
una imagen de bits.
initgraph()
Sintaxis: void far initgraph(int far *g_driver, int far
*g_modo, char far *path);
Declarado: graphics.h
Funci¢n: Inicializa el sistema de gr ficos y pone la pantalla
en modo gr fico detectado previamente por detectgraph,
tambi‚n especifica la v¡a de acceso de los ficheros del
controlador de gr ficos. (El Turbo C proporciona ficheros
separados para los ocho adaptadores de gr ficos). Si el
controlador de gr ficos est en el directorio por
defecto, o si se ha enlazado el controlador de gr ficos
al programa, se puede poner simplemente dos pares de
comillas ("") los caracteres '\', hay que ponerlos
duplicados. Ejemplo: a:\\pp\\antxon
Valores para g_driver:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º MACRO ³ VALOR º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º DETECT ³ 0 (autodetecci¢n)º
º CGA ³ 1 º
º MCGA ³ 2 º
º EGA ³ 3 º
º EGA64 ³ 4 º
º EGAMONO ³ 5 º
º IBM8514 ³ 6 º
º HERCMONO ³ 7 º
º ATT400 ³ 8 º
º VGA ³ 9 º
º PC3270 ³ 10 º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
Valores de g_modo:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º Filas x º
º Tarjeta modo Valor Columnas paleta pag. º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º CGA CGAC0 0 320x200 C0 1 º
º CGAC1 1 320x200 C1 1 º
º CGAC2 2 320x200 C2 1 º
º CGAC3 3 320x200 C3 1 º
º CGAHI 4 640x200 2 color 1 º
º MCGA MCGAC0 0 320x200 C0 1 º
º MCGAC1 1 320x200 C1 1 º
º MCGAC2 2 320x200 C2 1 º
º MCGAC3 3 320x200 C3 1 º
º MCGAMED 4 640x200 2 color 1 º
º MCGAHI 5 640x200 2 color 1 º
º º
º EGA EGALO 0 640x200 16 color 4 º
º EGAHI 1 640x350 4 color 2 º
º EGA64 EGA64LO 0 640x200 16 color 1 º
º EGA64HI 1 640x350 4 color 1 º
º EGAMONO EGAMONOHI 3 640x350 2 color 1* º
º EGAMONOHI 3 640x350 2 color 2** º
º º
º HERC HERCMONOHI 0 750x348 2 color 2 º
º ATT400 ATT40C0 0 320x200 C0 1 º
º ATT40C1 1 320x200 C1 1 º
º ATT40C2 2 320x200 C2 1 º
º ATT40C3 3 320x200 C3 1 º
º ATT40MED 4 640x200 2 color 1 º
º ATT40HI 5 640x00 2 color 1 º
º º
º VGA VGALO 0 640x200 16 color 2 º
º VGAMED 1 640x350 16 color 2 º
º VGAHI 2 640x480 16 color 1 º
º PC3270 PC3270HI 0 720x350 2 color 1 º
º IBM8514 IBM8514LO 0 640x480 256 color º
º IBM8514HI 0 1024x768 256 color º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
* 64K en tarjeta EGAMONO
** 256k en tarjeta EGAMONO
installuserdriver()
Sintaxis: int far installuserdriver(char far *nombre, int
huge(*detect)(void));
Declarado: graphics.h
Funci¢n: -o-o-o-oo-o-o-o-o-o-o-o-o-o-o-o-o-o-oo-o-o-o-o-o-o-o
installuserfont()
Sintaxis: int far installuserfont(char far *nombre);
Declarado: graphics.h
Funci¢n: nombre es un path a un fichero de fonts (.CHR). M s
de treinta fonts pueden ser instaladas de una vez.
line()
Sintaxis: void far line(int x1, int y1, int x2, int y2);
Declarado: graphics.h
Funci¢n: Dibuja una l¡nea entre dos puntos de la pantalla
gr fica.
linerel()
Sintaxis: void far linerel(int dx, int dy);
Declarado: graphics.h
Funci¢n: Dibuja una l¡nea desde la posici¢n actual del cursor
hasta un punto (dx, dy) expresado en coordenadas
relativas a la posici¢n actual.
lineto()
Sintaxis: void far lineto(int x, int y);
Declarado: graphics.h
Funci¢n: Dibuja una l¡nea desde la posici¢n actual del cursor
a el punto cuyas coordenadas son (x, y).
moverel()
Sintaxis: void far moverel(int dx, int dy);
Declarado: graphics.h
Funci¢n: Mueve la posici¢n actual del cursor dx pixels en la
direcci¢n x y dy pixels en direcci¢n y.
moveto()
Sintaxis: void far moveto(int x, int y);
Declarado: graphics.h
Funci¢n: Mueve el cursor a la posici¢n x, y.
outtext()
Sintaxis: void far outtext(char far *cadena);
Declarado: graphics.h
Funci¢n: Escribe una cadena en la ventana gr fica, en la
posici¢n actual del cursor, utilizando la justificaci¢n,
font, direcci¢n y tama¤o actual.
outtextxy()
Sintaxis: void far outtextxy(int x, int y, char far
*cadena);
Declarado: graphics.h
Funci¢n: Escribe una cadena en la ventana gr fica, en la
posici¢n (x,y), utilizando la justificaci¢n, font,
direcci¢n y tama¤o actual.
pieslice()
Sintaxis: void far pieslice(int x, int y, int stangle,
int endangle, int radio);
Declarado: graphics.h
Funci¢n: Dibuja y rellena una rebanada de pastel con centro en
x, y, con un radio dado por radio , comenzando en stangle
y terminando en endangle. El trozo de tarta es rellenado
y dibujado en el color actual.
putimage()
Sintaxis: void far putimage(int izda, int sup, void far
*bitmap, int parm);
Declarado: graphics.h
Funci¢n: Dibuja un modelo de mapa de bits en la pantalla
gr fica. El modelo debe ser un array de unsigned char
(por ejemplo) obtenido usando la funci¢n getimage o
cre ndolo de alguna otra manera. izda y sup indican la
posici¢n de la esquina superior izda del modelo del mapa
de bits, y parm es un par metro que especifica como se
coloca la imagen de los gr ficos en pantalla. Los
par metros y sus significados son los siguientes:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º Constante ³ Valor ³ Descripci¢n º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º COPY_PUT ³ 0 ³ Copia directa º
º XOR_PUT ³ 1 ³ O-Exclusiva (Borra) º
º OR_PUT ³ 2 ³ O-Inclusiva (une) º
º AND_PUT ³ 3 ³ Y (cubre) º
º NOT_PUT ³ 4 ³ Copia inversa º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
La combinaci¢n de getimage y putimage es ideal para
cubrir el dise¤o de ventanas y deshacer zonas editadas de
la pantalla de gr ficos. Mientras putimage trabaja bien
para dibujar el modelo de mapa de bits en la pantalla,
getimage es una funci¢n ineficaz para definir el modelo.
putpixel()
Sintaxis: void far putpixel(int x, int y, int color);
Declarado: graphics.h
Funci¢n: Dibuja un punto en (x, y) en el color color.
rectangle()
Sintaxis: void far rectangle(int izda, int sup, int dcha,
int abajo);
Declarado: graphics.h
Funci¢n: Dibuja un rect ngulo en el estilo de l¡nea actual.
(izda,sup) y (dcha,abajo) son las coordenadas de los
v‚rtices superior izdo e inferior dcho del rect ngulo.
registerbgidriver() registerbgifont() utilidad BGIOBJ
La utilidad BGIOBJ convierte los ficheros .BGI y .CHR
(drivers gr ficos y tipos de letras) en ficheros .OBJ de
forma que se puedad enlazar junto con cualquier programa
compilado.
La ventaja de emplear ficheros objeto, es que al montar
un programa, se conocer el tama¤o exacto del c¢digo
ejecutable. De la otra forma, el driver gr fico, junto
con los tipos de letra, se cargan en memoria en tiempo de
ejecuci¢n, a medida que los necesita el programa.
El formato de la orden es:
BGIOBJ
Los ficheros objeto se pueden a¤adir a la misma libreria
gr fica, emplenado TLIB:
TLIB graphics + [+ ...]
Los ficheros que se pueden convertir son:
CGA.BGI
EGAVGA.BGI
HERC.BGI
ATT.BGI
PC3270.BGI
IBM8514.BGI
TRIP.CHR
LITT.CHR
SANS.CHR
GOTH.CHR
Para poder emplear los ficheros .OBJ, ser necesario
indicarle al compilador que se van a emplear estos
ficheros, de forma que los pueda montar junto con el
programa. Para ello se emplean las funciones
registerbgidriver() y registerbgifont(). Con estas
funciones se indica al sistema que se emplear n los
ficheros listados anteriormente. Ambas funciones
necesitan como argumento un nombre simb¢lico (definido en
graphics.h) que representa a los gr ficos. Los nombres
posibles son:
CGA_driver
EGAVGA_driver
Herc_driver
ATT_driver
PC3270_driver
IBM8514_driver
triplex_font
small_font
sansserif_font
gothic_font
Las funciones registerbgidriver() y registerbgifont() se
deben invocar dentro del programa, antes de initgraph().
La secuencia de trabajo quedar como sigue:
1. Convertir el fichero
Por ejemplo:
BGIOBJ HERC
BGIOBJ GOTH
2. A¤adirlo a la librer¡a gr fica.
Por ejemplo:
TLIB GRAPHICS+HERC+GOTH
3. Si no se han incluido los m¢dulos objeto en la
librer¡a, se compilan junto con el programa fuente
(o se a¤aden al fichero de proyecto).
Por ejemplo:
TCC prog-fuente GRAPHICS.LIB HERC.OBJ GOTH.OBJ
4. En el programa se incluir n las llamadas a
registerbgidriver() y registerbgifont().
Por ejemplo:
if(registerbgidriver(Herc_driver)<0) {
fprintf(stderr,"Error al registrar el driver");
exit(1);
}
if(registerbgifont(gothic_font)<0) {
fprintf(stderr,"Error al registrar tipo deletra");
exit(2);
}
Si al compilar o montar el programa aparece el error
Segment exceeds 64k, ser necesario convertir el fichero
con la opci¢n /F. Con esta opci¢n se emplea un nuevo
segmento para los ficheros gr ficos. En este caso, a los
nombre simb¢licaos se les a¤ade la palabra _far, y las
funciones para registrar m¢dulos gr ficos ser n
registerfarbgidriver() y registerfarbgifont().
restorecrtmode()
Sintaxis: void far restorecrtmode(void);
Declarado: graphics.h
Funci¢n: Restaura el modo de video al modo anterior a la
llamada a initgraph().
sector()
Sintaxis: void far sector(int x, int y, int comang, int
endang, int radx, int rady);
Declarado: graphics.h
Funci¢n: Dibuja y rellena un trozo el¡ptico de tarta con
centro en (x, y) radx y rady son el radio horizontal y
vertical, comenzando a dibujarse en comang y terminando
en endang. 0 grados ser¡a a las 3 del reloj y 90 grados a
las 12.
setactivepage()
Sintaxis: void far setactivepage(int pag);
Declarado: graphics.h
Funci¢n: Define la p gina de la pantalla que recibir la
salida de las funciones gr ficas. Por defecto, se emplea
la p gina 0. Si se utiliza otro n£mero, toda la salida
ir a la nueva p gina. En modo gr fico, solo las tarjetas
EGA y VGA soportan m s de una p gina, aunque no en todos
los modos se puede trabajar con varias p ginas.
setallpalette()
Sintaxis: void far setallpalette(struct palettetype far
*paleta);
Declarado: graphics.h
Funci¢n: Se emplea para cambiar los colores de la paleta de
colores de un tarjeta EGA/VGA. La estructura palettetype
es la siguiente:
struct palettetype {
unsigned char size;
signed char colors[16];
}
Se debe asignar a cada color de la tabla su nuevo valor.
La tabla de colores se indica en la funci¢n setpalette().
setaspectratio()
Sintaxis: void far setaspectratio(int xasp, int yasp);
Declarado: graphics.h
Funci¢n: Cambia el factor de correcci¢n de aspecto ratio.
setbkcolor()
Sintaxis: void far setbkcolor(int color);
Declarado: graphics.h
Funci¢n: Modifica el color de fondo. El argumento color tiene
los siguientes valores:
ÉÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º N£mero ³ Nombre º N£mero ³ Nombre º
ÇÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º 0 ³ BLACK º 8 ³ DARKGRAY º
º 1 ³ BLUE º 9 ³ LIGHTBLUE º
º 2 ³ GREEN º 10 ³ LIGHTGREEN º
º 3 ³ CYAN º 11 ³ LIGHTCYAN º
º 4 ³ RED º 12 ³ LIGHTRED º
º 5 ³ MAGENTA º 13 ³ LIGHTMAGENTA º
º 6 ³ BROWN º 14 ³ YELLOW º
º 7 ³ LIGHTGRAY º 15 ³ WHITE º
ÈÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
NOTA: Si se utiliza una tarjeta VGA o EGA, y se cambia el
color de paleta con setpalette o setallpalette, la
constante simb¢lica, puede no dar el color correcto.
setcolor()
Sintaxis: void far setcolor(int color);
Declarado: graphics.h
Funci¢n: Establece el color de trazado de gr ficos. Color
puede ser uno de los valores indicados en la funci¢n
setpalette().
setfillpattern()
Sintaxis: void far setfillpattern(char far *modelo, int
color);
Declarado: graphics.h
Funci¢n: Establece el relleno del modelo definido por el
usuario. modelo es un puntero a una secuencia de 8 bytes,
cada byte corresponde a 8 pixels en la paleta. Siempre
que un bit de la paleta vale 1, el pixel correspondiente
es dibujado. El relleno ir coloreado en el color
indicado por color.
setfillstyle()
Sintaxis: void far setfillstyle(int modelo, int color);
Declarado: graphics.h
Funci¢n: Establece el estilo de relleno. modelo podr ser:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º Nombre ³Valor³ Descripci¢n º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º EMPTY_FILL ³ 0 ³ Relleno con el color de fondo º
º SOLID_FILL ³ 1 ³ Relleno s¢lido º
º LINE_FILL ³ 2 ³ Relleno con ÄÄÄÄ º
º LTSLASH_FILL ³ 3 ³ Relleno con //// º
º SLASH_FILL ³ 4 ³ Relleno con ////, l¡nea gruesa º
º BKSLASH_FILL ³ 5 ³ Relleno con \\\\, l¡nea gruesa º
º LTBKSLASH_FILL ³ 6 ³ Relleno con \\\\ º
º HATCH_FILL ³ 7 ³ Relleno de l¡neas brillantes º
º XHATCH_FILL ³ 8 ³ L¡neas gruesas cruzadas º
º INTERLEAVE_FILL³ 9 ³ Relleno de basura º
º WIDE_DOT_FILL ³ 10 ³ Punteado muy espaciado º
º CLOSE_DOT_FILL ³ 11 ³ Punteado muy cerrado. º
º USER_FILL ³ 12 ³ Modo definido por la paleta º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
setgraphbufsize()
Sintaxis: unsigned far setgraphbufsize(unsigned tama¤o);
Declarado: graphics.h
Funci¢n: Cambia el tama¤o del buffer interno para gr ficos
tama¤o. Esta funci¢n devuelve el valor previo de tama¤o
del buffer.
setgraphmode()
Sintaxis: void far setgraphmode(int modo);
Declarado: graphics.h
Funci¢n: Define el modo gr fico especificado en modo. los
valores de modo se explican con la funci¢n initgraph().
setlinestyle()
Sintaxis: void far setlinestyle(int estilo, unsigned
upattern, int densidad);
Declarado: graphis.h
Funci¢n: Selecciona estilo y anchura de l¡nea.
estilo puede ser:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º Nombre ³ Valor ³ Descripci¢n º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º SOLID_LINE ³ 0 ³ L¡nea s¢lida º
º DOTTED_LINE ³ 1 ³ L¡nea punteada º
º CENTER_LINE ³ 2 ³ L¡nea centrada º
º DASHED_LINE ³ 3 ³ L¡nea larga º
º USERBIT_LINE ³ 4 ³ Definido por usuario. º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
densidad puede ser:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º Nombre ³ Valor ³ Descripci¢n º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º NORM_WIDTH ³ 1 ³ 1 pixel de anchura º
º THICK_WIDTH ³ 3 ³ 3 pixel de anchura º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
upattern es un formato de 16 bits que se aplica solo si
estilo = 4
setpalette()
Sintaxis: void far setpalette(int index, int color);
Declarado: graphics.h
Funci¢n: Define los colores de la pantalla. El argumento color
toma los valores siguentes:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º CGA º EGA/VGA º
º Nombre Valor º Nombre Valor º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄĶ
º BLACK ³ 0 º EGA_BLACK ³ 0 º
º BLUE ³ 1 º EGA_BLUE ³ 1 º
º GREEN ³ 2 º EGA_GREEN ³ 2 º
º CYAN ³ 3 º EGA_CYAN ³ 3 º
º RED ³ 4 º EGA_RED ³ 4 º
º MAGENTA ³ 5 º EGA_MAGENTA ³ 5 º
º BROWN ³ 6 º EGA_BROWN ³ 20 º
º LIGHTGRAY ³ 7 º EGA_LIGHTGRAY ³ 7 º
º DARKGRAY ³ 8 º EGA_DARKGRAY ³ 56 º
º LIGHTBLUE ³ 9 º EGA_LIGHTBLUE ³ 57 º
º LIGHTGREEN ³ 10 º EGA_LIGHTGREEN ³ 58 º
º LIGHTCYAN ³ 11 º EGA_LIGHTCYAN ³ 59 º
º LIGHTRED ³ 12 º EGA_LIGHTRED ³ 60 º
º LIGHTMAGENTA ³ 13 º EGA_LIGHTMAGENTA ³ 61 º
º YELLOW ³ 14 º EGA_YELLOW ³ 62 º
º WHITE ³ 15 º EGA_WHITE ³ 63 º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍͼ
Nota: Para que el color sea v lido depende del modo
gr fico actual.
El argumento index se refiere a la posici¢n de una tabla
donde Turbo C selecciona los colores. Los colores de
fondo siempre tienen el ¡ndice 0. Con una tarjeta EGA se
pueden escribir 16 colores a la vez y admite un total de
64 colores. Se emplea la funci¢n setpalette() para
relacionar un color con un ¡ndice. Por ejemplo:
setpalette(0, RED);
modifica el color de fondo a rojo, y
setpalette(3, EGA_BLACK);
asigna el ¡ndice 3 a EGA_BLACK (negro)
setrgbpalette()
Sintaxis: void far setrgbpalette(int colornum, int rojo,
int verde, int azul);
Declarado: graphics.h
Funci¢n: Concede la definici¢n de colores para la tarjeta
gr fica IBM8514.
settextjustify()
Sintaxis: void far settextjustify(int horiz, int vert);
Declarado: graphics.h
Funci¢n: Selecciona la justificaci¢n del texto para las
funciones gr ficas. Por defecto la justificaci¢n
seleccionada es LEFT_TEXT (para horizontal) y TOP_TEXT
(para vertical). Los valores disponibles para horiz y
vert son:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º Nombre ³ Valor ³ Descripci¢n º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º LEFT_TEXT ³ 0 ³ horiz º
º CENTER_TEXT ³ 1 ³ horiz y vert º
º RIGHT_TEXT ³ 2 ³ horiz º
º BOTTOM_TEXT ³ 0 ³ vert º
º TOP_TEXT ³ 2 ³ vert º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
settextstyle()
Sintaxis: void far settextstyle(int fuente, unsigned
direcci¢n, int tama¤o);
Declarado: graphics.h
Funci¢n: Especifica la fuente de texto (tipo de letra), la
direcci¢n y el tama¤o. fuente es el valor entero (o
constante simb¢lica) dado en la siguiente tabla:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º Constante ³ Valor ³ Descripci¢n º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º DEFAULT_FONT ³ 0 ³ Font de trazado 8x8 bits º
º TRIPLEX_FONT ³ 1 ³ Font de trazado triple º
º SMALL_FONT ³ 2 ³ Font de trazado reducido º
º SANS_SERIF_FONT ³ 3 ³ Font de trazado sin serifº
º GOTHIC_FONT ³ 4 ³ Font de trazado G¢tico º
º ³ ³ º
º HORIZ_DIR ³ 0 ³ izda a dcha en horizontalº
º VERT_DIR ³ 1 ³ abajo a arriba vertical º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
direcci¢n es un entero que indica la direcci¢n del texto
(0=horizontal, 1=vertical) tama¤o es un entero (en el
rango de 1 a 10) para ajust r el tama¤o de la fuente.
setusercharsize()
Sintaxis: void far setuserc arsize(int multx, int divx,
int multy, int divy);
Declarado: graphics.h
Funci¢n: Afina el control sobre el tama¤o del texto de las
fonts utilizadas en las funciones gr ficas. Los valores
seleccionados por setusercharsize se activan solo si
charsize es igual a 0, puesto en una llamada previa a
settextstyle.
Con esta funci¢n se especifica el factor que regula la
escala de anchura y altura.
dicho de otra forma, multiplica las coordenadas de cada
car cter escrito en la pantalla de modo gr fico, de la
siguiente forma:
x = x*mulx/divx
y = y*muly/divy
setviewport()
Sintaxis: void far setviewport(int izda, int sup, int
dcha, int abajo, int banderacorte)
Declarado: graphics.h
Funci¢n: Establece una nueva ventana de dibujo. izda, sup son
la esquina superior izda de la ventana; dcha, abajo son
la esquina inferior derecha; y banderacorte establece la
bandera corte. Si banderacorte es 0 el corte est en off
y la salida de gr ficos, que ir¡a mas all de los l¡mites
de la ventana de dibujo, es ignorada totalmente (no se
muestra ning£n dibujo); si vale 1, el corte est en on y
la salida de gr ficos, que ir¡a m s all de los l¡mites
de la ventana de dibujo, es truncada en los l¡mites (pero
se muestra la parte del dibujo interior a la ventana de
dibujo).
setvisualpage()
Sintaxis: void far setvisualpage(int p gina);
Declarado: graphics.h
Funci¢n: Selecciona la p gina de video a visualizar.
setwritemode()
Sintaxis: void far setwritemode(int modo);
Declarado: graphics.h
Funci¢n: Selecciona el modo de escritura de una l¡nea en una
p gina gr fica
COPY_PUT = 0 /* MOV */
XOR_PUT = 1 /* XOR */
Cada una de estas constantes corresponde a una operaci¢n
binaria entre cada byte en la l¡nea y el correspondiente
byte en la pantalla. COPY_PUT utiliza la instrucci¢n MOV
de emsamblador, sobrescribiendo sobre cualquier cosa que
haya el la misma l¡nea de la pantalla. XOR_PUT utiliza el
comando XOR para borrar la l¡nea y restaurar la pantalla
a su apariencia original.
textheight()
Sintaxis: int far textheight(char far *textcad);
Declarado: graphics.h
Funci¢n: Devuelve la altura en pixels de la font actual.
textwidth()
Sintaxis: int far textwidth(char far *cadtext);
Declarado: graphics.h
Funci¢n: Devuelve la anchura de la cadena de texto cadtext en
pixels en la font y modo actual.
LIBRERIAS DE TURBO C - io.h
access()
Sintaxis: int access(const char *nomfichero, int modo)
Declarado: io.h
Funci¢n: Se emplea para para averiguar si un fichero existe.
Tambi‚n se puede utilizar para ver si el fichero est
protegido contra escritura y si es ejecutable. El
argumneto nomfichero apunta al nombre del fichero. El
valor modo determina como funciona access(). Los valores
posibles son:
0 Comprueba la existencia del fichero
1 Comprueba si es un fichero ejecutable
2 Comprueba la escritura
4 Comprueba la lectura
6 Comprueba la escritura y lectura.
La funci¢n access() devuelve 0 si se puede acceder al
fichero; en caso contrario, devuelve -1 y a la variable
global errno se le asigna uno de los valores:
ENOENT Camino o nombre de fichero no encontrado
EACCES Acceso denegado
_chmod()
Sintaxis: #include
#include
int _chmod(const char *path, int func[, int
atrib]);
Declarado: io.h
Funci¢n: Cambia el modo de acceso a un fichero. Si func es 0,
la funci¢n devuelve el atributo actual del fichero, Si es
1, el atributo es cambiado a atrib.
atrib puede ser una de las siguientes constantes
simb¢licas:
FA_RDONLY atributo de solo lectura.
FA_HIDDEN " " archivo oculto.
FA_SYSTEM " " " sistema.
chmod()
Sintaxis: #include
int chmod(const char *path, int pmodo);
Declarado: io.h
Funci¢n: Cambia el permiso que tiene el fichero especificado
en path por el especificado en pmodo, devolviendo 0 en
caso exitoso, y -1 en caso de error. Los valores que
puede tomar pmodo son:
S_IWRITE permiso de escritura
S_IREAD permiso de lectura.
S_IWRITE | S_IREAD lectura y escritura
chsize()
Sintaxis: int chsize(int num, long n);
Declarado: io.h
Funci¢n: Extiende o trunca el fichero cuyo n£mero asociado es
num, a la longitud especificada por n. El fichero debe
ser abierto de forma que permita la escritura. Si el
fichero es extendido, se a¤aden caracteres nulos ('\0').
_close()
Sintaxis: int _close(int num);
Declarado: io.h
Funci¢n: Esta funci¢n cierra el fichero asociado con num.
close()
Sintaxis: int _close(int num);
Declarado: io.h
Funci¢n: Esta funci¢n cierra el fichero asociado con num.
_creat()
Sintaxis: #include
int _creat(const char *path, int atrib);
Declarado: io.h
Funci¢n: Crea un nuevo fichero o reescribe en uno ya
existente. Si el fichero ya existe, su tama¤o es puesto a
0. El argumento atrib puede ser uno de los siguientes:
FA_RDONLY Solo lectura
FA_HIDDEN Oculto
FA_SYSTEM Del sistema.
Si no hay error devuelve el numero del fichero creado, en
caso contrario devuelve -1.
creat()
Sintaxis: #include
int creat(const char *path, int amode);
Declarado: io.h
Funci¢n: Crea un nuevo fichero o prepara para reescribir en
uno existente. El argumento amode puede ser:
S_IWRITE permiso de escritura.
S_IREAD permiso de lectura.
S_READ|S_IWRITE permiso de lectura y escritura.
Si no hay error devuelve el numero del fichero creado, en
caso contrario devuelve -1.
creatnew()
Sintaxis: #include
int creatnew(const char *path, int atrib);
Declarado: io.h
Funci¢n: Esta funci¢n es id‚ntica a _creat, con la excepci¢n
de que si el fichero existe, creatnew devuelve error y
deja el fichero intacto.
El argumento atrib debe ser uno de los siguientes:
FA_RDONLY atributo de solo lectura
FA_HIDDEN archivo oculto
FA_SYSTEM archivo del sistema.
Si no hay error devuelve el numero del fichero creado, en
caso contrario devuelve -1.
creattemp()
Sintaxis: #include
int creattemp(char *path, int atrib);
Declarado: io.h
Funci¢n: Crea un £nico fichero en el directorio asociado con
path. Es creado en el modo especificado por la variable
global _fmode (O_TEXT o O_BINARY). El fichero es borrado
automaticamente cuando el termina el programa.
El argumento atrib debe ser uno de los siguientes:
FA_RDONLY atributo de solo lectura
FA_HIDDEN archivo oculto
FA_SYSTEM archivo del sistema.
Si no hay error devuelve el numero del fichero creado, en
caso contrario devuelve -1.
dup()
Sintaxis: int dup(int handle);
Declarado io.h
Funci¢n: Da un nuevo n£mero al fichero de n£mero actual
handle, en caso de error da -1.
dup2()
Sintaxis: int dup2(int oldhandle, int newhandle);
Declarado: io.h
Funci¢n: Duplica un n£mero de fichero (oldhandle) sobre un
n£mero de fichero existente (newhandle). Si tiene ‚xito
esta funci¢n devuelve 0, en caso contrario -1.
eof()
Sintaxis: int eof(int handle);
Declarado: io.h
Funci¢n: Esta funci¢n devuelve 1 si se ha llegado al final del
fichero, en caso contrario devuelve 0. Un valor -1 indica
error.
filelength()
Sintaxis: long filelength(int pf);
Declarado: io.h
Funci¢n: Devuelve la longitud en bytes del fichero asociado a
pf, en caso de error devuelve -1.
getftime()
Sintaxis: int getftime(int handle, struct ftime *ftimep);
Declarado: io.h
Funci¢n: Carga fecha y hora del fichero de disco asociado con
handle, en la estructura ftimep de tipo ftime que es de
la forma siguiente.
struct ftime {
unsigned ft_tsec:5; /* dos segundos */
unsigned ft_min:6; /* minutos */
unsigned ft_hour:5; /* horas */
unsigned ft_day:5; /* d¡as */
unsigned ft_month:4; /* meses */
unsigned ft_year:5; /* a¤o-1980 */
};
ioctl()
Sintaxis: int ioctl(int handle, int func[, void *argdx,
int argcx]);
Declarado: io.h
Funci¢n: Controla el dispositivo de I/O.
isatty()
Sintaxis: int isatty(int num);
Declarado: io.h
Funci¢n: Determina si num est asociado con un dispositivo
(consola, impresora, puerto serie etc.). Devuelve un
valor distinto de 0 si num est asociado a un dispositivo
y 0 en caso contrario.
lock()
Sintaxis: int lock(int handle, long offset, long length);
Declarado: io.h
Funci¢n: Se utiliza para bloquear una parte de un fichero,
para prevenir que otro programa lo utilice. Para
desbloquear el fichero se emplea unlock(). Estas
funciones permiten controlar los ficheros en redes
locales.
La zona del fichero que se protege viene dada por el
desplazamiento y el n£mero de caracteres. Si no hay
errores, devuelve 0; en caso contrario devuelve -1.
lseek()
Sintaxis: long lseek(int num, long desp, int pos);
Declarado: io.h
Funci¢n: Mueve el puntero de L/E asociado con el fichero
abierto con el numero num, a una nueva localizaci¢n
desplazada desp bytes de pos. pos puede ser:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º Pos ³Valor ³ Definici¢n º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º SEEK_SET ³ 0 ³ Principio del fichero º
º SEEK_CUR ³ 1 ³ Posici¢n actual º
º SEEK_END ³ 2 ³ Final del fichero º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
En caso de error, esta funci¢n devuelve -1.
int open(char *nomfich, int modo, int acceso);
int _open(char *nomfich, int modo);
Declarado: io.h
Funci¢n: Se emplea para abrir un fichero y obtener el
descriptor asociado. El argumento modo es una de las
siguientes macros:
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍ»
º MODO ³ EFECTO ³ VALOR º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄĶ
º O_RDONLY ³ s¢lo lectura ³ 1 º
º O_WRONLY ³ s¢lo escritura ³ 2 º
º O_RDWR ³ lectura y escritura ³ 3 º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍͼ
El argumento acceso se utiliza para mantener la
compatibilidad con el entorno UNIX.
La funci¢n open() devuelve un valor positivo si no hay
errores; en caso contrario, devuelve -1. El valor
positivo ser el descriptor asociado al fichero.
Los modos se pueden complementar con otras macros:
O_TEXT Fichero de texto.
Se realizan las conversiones siguientes:
al leer 0x0d0a -> 0x0a
al escribir 0x0a->0x0d0a
el fin fichero es 0x1a (CTRL+Z)
O_BINARY Fichero binario. no hay conversiones
O_APPEND Escritura a final de fichero
O_CREAT Si no existe, se crea. en este caso se
puede emplear el argumento de acceso con
los valores siguientes:
S_IREAD S¢lo lectura
S_IWRITE S¢lo escritura
S_IWRITE|S_IREAD
O_TRUNC Vacia un fichero ya existente
_read()
Sintaxis: int _read(int num, void *buf, unsigned c);
Declarado: io.h
Funci¢n: Intenta leer c bytes del fichero cuyo n£mero asociado
es num, y almacenarlos en buf.
Esta funci¢n devuelve el n£mero de bytes le¡dos, en caso
de encontrar el final de fichero devuelve 0, un valor -1
indica error.
Para un fichero abierto en modo de texto, _read no
traslada los retornos de carro.
Esta funci¢n utiliza el sistema de llamadas directas del
DOS.
read()
Sintaxis: int read(int num, void *buf, unsigned c);
Declarado: io.h
Funci¢n: Intenta leer c bytes del fichero cuyo n£mero asociado
es num, y almacenarlos en buf.
Esta funci¢n devuelve el n£mero de bytes le¡dos, en caso
de encontrar el final de fichero devuelve 0, un valor -1
indica error.
Para un fichero abierto en modo de texto, _read si
traslada los retornos de carro.
setftime()
Sintaxis: int setftime(int handle, struct ftime *lista);
Declarado: io.h
Funci¢n: Carga la fecha y hora del fichero de disco asociado
con handle en la estructura lista de tipo ftime, que es
como sigue:
struct ftime {
unsigned ft_tsec:5; /* dos segundos */
unsigned ft_min:6; /* minutos */
unsigned ft_hour:5; /* horas */
unsigned ft_day:5; /* d¡a */
unsigned ft_month:4; /* mes */
unsigned ft_year:7 /* a¤o */
};
En caso de error, esta funci¢n devuelve -1.
setmode()
Sintaxis: int setmode(int num, int modo);
Declarado: io.h
Funci¢n: Asigna el modo de texto (O_TEXT) o el modo binario
(O_BINARY) al fichero cuyo n£mero asociado es num.
Devuelve el modo anterior, -1 indica error.
sopen()
Sintaxis: int sopen(char *path, int acceso, int shflag,
int modo);
Declarado: io.h
Funci¢n: Abre el fichero especificado por path y lo prepara a
modo compartido para lectura y/o escritura. Para m s
informaci¢n leer el manual.
tell()
Sintaxis: long tell(int num);
Declarado: io.h
Funci¢n: Devuelve la posici¢n actual del puntero de L/E,
dentro del fichero cuyo numero asociado es num. Esta
posici¢n es relativa al principio.
unlink()
Sintaxis: int unlink(const char *path);
Declarado: dos.h, io.h, stdio.h
Funci¢n: Borra el fichero especificado por path devolviendo 0.
un valor -1 indica error.
unlock()
Sintaxis: int unlock(int handle, long offset, long
length);
Declarado: io.h
Funci¢n: Provee de un interface con el DOS 3.x para utilizar
un fichero en modo compartido.
Elimina el bloqueo hecho con la llamada lock().
_write()
Sintaxis: int _write(int fd, void *buf, unsigned len);
Declarado: io.h
Funci¢n: Escribe len bytes, almacenados en buf, en el fichero
cuyo n£mero asociado es fd. Retorna el n£mero de bytes
escritos, -1 indica error.
Esta funci¢n es exclusiva del DOS.
write()
Sintaxis: int write(int fd, void *buf, unsigned len);
Declarado: io.h
Funci¢n: Escribe len bytes, almacenados en buf, en el fichero
cuyo n£mero asociado es fd. Retorna el n£mero de bytes
escritos, -1 indica error.
Esta funci¢n es compatible UNIX.
LIBRERIAS DE TURBO C - limits.h
En esta libreria est n definidas las siguientes
constantes:
CHAR_BIT N§ de bits en un char
CHAR_MAX M ximo valor char
CHAR_MIN M¡nimo valor char
INT_MAX M ximo valor int
INT_MIN M¡nimo valor int
LONG_MAX M ximo valor long
LONG_MIN M¡nimo valor long
SCHAR_MAX M ximo valor char
SCHAR_MIN M¡nimo valor char
SH