Lenguaje C

En este apartado y los siguientes vamos a ver algunas de las funciones m�s importantes que nos proporcionan las librer�as definidas por ANSI y su utilizaci�n. Como hemos visto hasta ahora, el lenguaje C no proporciona ning�n mecanismo de comunicaci�n ni con el usuario ni con el sistema operativo. Ello es realizado a trav�s de las funciones de librer�a proporcionadas por el compilador.

El fichero de declaraciones que normalmente m�s se utiliza es el stdio.h. Vamos a ver algunas funciones definidas en �l.

Una funci�n que ya hemos utilizado y que, ella y sus variantes, es la m�s utilizadas para la salida de informaci�n es printf. Esta permite dar formato y enviar datos a la salida est�ndar del sistema operativo.

#include <stdio.h>

int printf ( const char *format [, argumentos, ...] );

Acepta un string de formato y cualquier n�mero de argumentos. Estos argumentos se aplican a cada uno de los especificadores de formato contenidos en format. Un especificador de formato toma la forma %[flags][width][.prec][h|l] type. El tipo puede ser:

Tipo Descripci�n
d, i Entero decimal con signo
o Entero octal sin signo
u Entero decimal sin signo
x Entero hexadecimal sin signo (en min�sculas)
X Entero hexadecimal sin signo (en may�sculas)
f Coma flotante en la forma [-]dddd.dddd
e Coma flotante en la forma [-]d.dddd e[+/-]ddd
g Coma flotante seg�n el valor
E Como e pero en may�sculas
G Como g pero en may�sculas
c Un car�cter
s Cadena de caracteres terminada en '\0'
% Imprime el car�cter %
p Puntero

Los flags pueden ser los caracteres:

Modificador Descripci�n
+ Siempre se imprime el signo, tanto + como -
- Justifica a la izquierda el resultado, a�adiendo espacios al final
blank Si es positivo, imprime un espacio en lugar de un signo +
# Especifica la forma alternativa

En el campo width se especifica la anchura m�nima de la forma:

Modificador Descripci�n
n Se imprimen al menos n caracteres.
0n Se imprimen al menos n caracteres y si la salida es menor, se anteponen ceros
* La lista de par�metros proporciona el valor

Hay dos modificadores de tama�o, para los tipos enteros:

Modificador Descripci�n
l Imprime un entero long
h Imprime un entero short

Otra funci�n similar a printf pero para la entrada de datos es scanf. Esta toma los datos de la entrada est�ndar del sistema operativo. En este caso, la lista de argumentos debe estar formada por punteros, que indican d�nde depositar los valores.

#include <stdio.h>

int scanf ( const char *format [, argumentos, ...] );

Hay dos funciones que trabajan con strings. La primera lee un string de la entrada est�ndar y la segunda lo imprime en el dispositivo de salida est�ndar.

#include <stdio.h>

char *gets ( char *s );
int puts ( char *s );

Tambi�n hay funciones de lectura y escritura de caracteres individuales.

#include <stdio.h>

int getchar ( void );
int putchar ( int c );

Veamos, por ejemplo, un programa que copia la entrada est�ndar a la salida est�ndar del sistema operativo, car�cter a car�cter.

#include <stdio.h>

main()
{
  int c;
  while ( (c = getchar()) != EOF )
    putchar(c);
}

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR