Está en la página 1de 10

Los caracteres de control ASCII

El cdigo ASCII reserva los primeros 32 cdigos (numerados del 0 al 31 en decimal) para caracteres de
control: cdigos no pensados originalmente para representar informacin imprimible, sino para controlar
dispositivos (como impresoras) que usaban ASCII. Por ejemplo, el carcter 10 representa la funcin
"nueva lnea" (line feed), que hace que una impresora avance el papel, y el carcter 27 representa la
tecla "escape" que a menudo se encuentra en la esquina superior izquierda de los teclados comunes.
El cdigo 127 (los siete bits a uno), otro carcter especial, equivale a "suprimir" ("delete"). Aunque esta
funcin se asemeja a otros caracteres de control, los diseadores de ASCII idearon este cdigo para
poder "borrar" una seccin de papel perforado (un medio de almacenamiento popular hasta la dcada de
1980) mediante la perforacin de todos los agujeros posibles de una posicin de carcter concreta,
reemplazando cualquier informacin previa. Dado que el cdigo 0 era ignorado, fue posible dejar huecos
(regiones de agujeros) y ms tarde hacer correcciones.
Muchos de los caracteres de control ASCII servan para marcar paquetes de datos, o para controlar
protocolos de transmisin de datos (por ejemplo ENQuiry, con el significado: hay alguna estacin por
ah?, ACKnowledge: recibido o ", Start Of Header: inicio de cabecera, Start of TeXt: inicio de texto, End of
TeXt: final de texto, etc.). ESCape y SUBstitute permitan a un protocolo de comunicaciones, por ejemplo,
marcar datos binarios para que contuviesen cdigos con el mismo cdigo que el carcter de protocolo, y
que el receptor pudiese interpretarlos como datos en lugar de como caracteres propios del protocolo.
Los diseadores del cdigo ASCII idearon los caracteres de separacin para su uso en sistemas de
cintas magnticas.
Dos de los caracteres de control de dispositivos, comnmente llamados XON y XOFF generalmente
ejercan funciones de caracteres de control de flujo para controlar el flujo a hacia un dispositivo lento
(como una impresora) desde un dispositivo rpido (como un ordenador), de forma que los datos no
saturasen la capacidad de recepcin del dispositivo lento y se perdiesen.
Los primeros usuarios de ASCII adoptaron algunos de los cdigos de control para representar
"metainformacin" como final-de-lnea, principio/final de un elemento de datos, etc. Estas asignaciones a
menudo entraban en conflicto, as que parte del esfuerzo de convertir datos de un formato a otro
comporta hacer las conversiones correctas de metainformacin. Por ejemplo, el carcter que representa
el final-de-lnea en ficheros de texto vara con el sistema operativo. Cuando se copian archivos de un
sistema a otro, el sistema de conversin debe reconocer estos caracteres como marcas de final-de-lnea
y actuar en consecuencia.
Actualmente los usuarios de ASCII usan menos los caracteres de control, (con algunas excepciones
como "retorno de carro" o "nueva lnea"). Los lenguajes modernos de etiquetas, los protocolos modernos
de comunicacin, el paso de dispositivos basados en texto a basados en grficos, el declive de las
teleimpresoras, las tarjetas perforadas y los papeles continuos han dejado obsoleta la mayora de
caracteres de control.

Binario

Decima
l

He
x

Abreviatur
a

Rep
r

AT

Nombre/Significado

0000 000
0

00

NUL

^@

Carcter Nulo

0000 000
1

01

SOH

^A

Inicio de Encabezado

0000 001
0

02

STX

^B

Inicio de Texto

0000 001
1

03

ETX

^C

Fin de Texto

0000 010
0

04

EOT

^D

Fin de Transmisin

0000 010
1

05

ENQ

^E

Consulta

0000 011
0

06

ACK

^F

Acuse de recibo

0000 011
1

07

BEL

^G

Timbre

0000 100
0

08

BS

^H

Retroceso

0000 100
1

09

HT

^I

Tabulacin horizontal

0000 101
0

10

0A

LF

^J

Salto de lnea

0000 101
1

11

0B

VT

^K

Tabulacin Vertical

0000 110
0

12

0C

FF

^L

De avance

0000 110
1

13

0D

CR

^M

Retorno de carro

0000 111

14

0E

SO

^N

Maysculas fuera

0
0000 1111

15

0F

SI

^O

En maysculas

0001 000
0

16

10

DLE

^P

Enlace de datos /
Escape

0001 000
1

17

11

DC1

^Q

Dispositivo de control 1
oft. XON

0001 001
0

18

12

DC2

^R

Dispositivo de control 2

0001 001
1

19

13

DC3

^S

Dispositivo de control 3
oft. XOFF

0001 010
0

20

14

DC4

^T

Dispositivo de control 4

0001 010
1

21

15

NAK

^U

Confirmacin negativa

0001 011
0

22

16

SYN

^V

Sncrono en espera

0001 011
1

23

17

ETB

^W

Fin de Transmision del


Bloque

0001 100
0

24

18

CAN

^X

Cancelar

0001 100
1

25

19

EM

^Y

Finalizacin del Medio

0001 101
0

26

1A

SUB

^Z

Substituto

0001 101
1

27

1B

ESC

^[ or ESC

Escape

0001 110
0

28

1C

FS

^\

Separador de fichero

0001 110
1

29

1D

GS

^]

Separador de grupo

0001 111
0

30

1E

RS

^^

Separador de registro

0001 1111

31

1F

US

^_

Separador de unidad

0111 1111

127

7F

DEL

^?, Delete o Backspac


e

Eliminar

windows.h
windows.h es un fichero de cabecera especfico de windows para la programacin en C que contiene
declaraciones de todas las funciones en el API de Windows, todas las macros comunes utilizadas por
Windows, y todos los tipos de datos utilizados por las mltiples funciones y subsistemas Define un
nmero amplio de funciones especficas de Windows que pueden ser utilizadas en C. El API de Win32
puede ser aadido a un proyecto de programacin en C incluyendo la cabecera <windows.h> y haciendo
link a las libreras apropiadas. Para utilizar las funciones en una dll, el programa debe de ser linkado con
el archivo .lib. algunas cabeceras no son asociadas con un .dll pero s con una librera esttica (por
ejemplo, scrnsave.h, necesita scrnsave.lib)

funcin sleep
retardo en milisegundos.

si deseamos hacer un retardo en milisegundos, debemos incluir Windows.h y hacer


un Sleep, notese que la S es en mayuscula, sino no funciona, ejemplo del uso de la
sintaxis:
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <time.h>
#include <windows.h> // esta libreria es la que nos permite usar Sleep()
int main() {
cout << "hola";
cout << "\n\n";
//se procede a hacer el retardo en milisegundos.
Sleep(2000); // se hace un retardo de 2 segundos, pero expesado en milisegundos.
cout << "probando el retardo del sleep";
getch();
}
Retardo en segundos
a diferencia del caso anterior, para poder hacer un retardo en segundos, debemos
usar la libreria dos.h y usar el comando sleep; notese que la s es minuscula en este
caso.
#include
#include
#include
#include
#include

<stdio.h>
<iostream.h>
<conio.h>
<time.h>
<dos.h> //esta es la libreria para usar sleep

int main(){
cout << "hola";
cout << "\n\n";
// se procede a hacer el retardo en segundos
sleep(2); // se hace un retardo de 2 segundos.
cout << "probando el retardo del sleep";
getch();
}

es muy importante a la hora de escribir el programa, que nos fijemos bien, que
libreria queremos usar, como escribimos el sleep y el tiempo que damos, pq sino
podemos caer en una espera eterna.
resumen:
1. <windows.h>
2. <dos.h>

Sleep() // retraso en milisegundos


sleep() // retraso en segundos.

Funcin kbhit Borland C

int kbhit(void);
Revisa si una tecla pulsada est disponible. Cualesquier pulsadas disponibles
pueden ser recogidas con las funciones getch o getche.
Valor de retorno:
La funcin kbhit retorna 0 si no se ha registrado una pulsada de tecla; si hay una
disponible, entonces el valor retornado es distinto a cero.
Ejemplo:
#include <conio.h>

int main() \{
clrscr();
cprintf( "Ejemplo de \"kbhit\"\r\n\r\n" );
cprintf( "El programa est a la espera de registrar una tecla pulsada.\r\n" );
while( !kbhit() );
cprintf( "El carcter es \'%c\'\r\n", getch() );
cprintf( "Pulsa una tecla para continuar...\r\n" );
getch();

return 0;
}

Gotoxy significa go to (x, y), es decir ir a (x, y), donde (x, y) es una coordenada de nuestra
pantalla. Se suele usar antes de un printf, para poner el texto en una cierta parte de la pantalla.
La pantalla de C++, tiene 24 renglones y 80 columnas, por lo que los valores que le pongamos a
nuestro
gotoxy
no
debern
pasar
de
esos
valores.

Cmo usar gotoxy()?


Su sintxis es la siguiente:
gotoxy ( columna , rengln ) ;
As, si queremos que un mensaje salga en la parte inferior de la pantalla, nuestro programa sera
el siguiente:
#include<stdio.h>
#include<conio.h>
int main() {
gotoxy(5,24);printf("Hola mundo");
getch();
}

Funcin getch Borland C


int getch(void);
Lee un solo carcter directamente desde el teclado, sin mostrar tal carcter en
pantalla.
Valor de retorno:
La funcin getch retorna el carcter ledo desde el teclado.

Ejemplo:
#include <conio.h>

int main() \{
clrscr();
cprintf( "Ejemplo de \"getch\"\r\n\r\n" );
cprintf( "Pulsa una tecla: " );
cprintf( "\'%c\'\r\n", getch() );
cprintf( "Pulsa una tecla para continuar..." );
getch();

return 0;
}
Randomize
Sintaxis

#include <stdlib.h>
#include <time.h>
void randomize(void);

Descripcion

Inicializa un generador de nmeros aleatorios


randomize Inicializa un generador de nmeros aleatorios con un valor aleartorio.
Random
Sintaxis

#include <stdlib.h>
int random(int num);

Descripcion

Generador de numerous aleatorios.


random retorna un valor aleatorio entre cero y menos uno. random(num) es un
macro definido en stdlib.h. Tanto num y el nmero aleatorio devuelto son nmeros
enteros.

Valor retornado

random retorna un numero entre 0 y (num-1).

También podría gustarte