Leer y escribir una cadena de caracteres con gets y puts

on jueves, 8 de octubre de 2009

Pues prácticamente hoy me dio ganas de mostrarles algo básico que muchos talvez ya conocen otros aun no, se trata de otra forma de escribir una cadena de caracteres en stdout seria utilizando la función puts al igual que en stdin seria utilizando la función gets pero por el momento solo voy a enfocarme mas a la función puts cuya sintaxis general seria la siguiente.

Función gets

Función: Lee y guarda una cadena de caracteres introducida por el teclado.
Sintaxis: gets (cadena);

Código:
#include <stdio.h>
char gets (char *var);



Función puts

Función: Escribe una cadena de caracteres y salto de línea.
Sintaxis: puts (cadena);

Código:
#include <stdio.h>
int puts (const char *var);


Entonces por que la función puts, simple, la función puts escribe una cadena de caracteres de salida estándar, stdout, y reemplaza el carácter \0 de terminación de cadena por el carácter \n.

Esto quiere decir que después de escribir de teclear la cadena de caracteres, avanzamos automáticamente a la siguiente línea.

Por ejemplo:

Código:
char texto[50];
gets(texto);
puts(texto);


En el ejemplo anterior se lee y visualiza la cadena de caracteres texto.


Voy a poner otro ejemplo para que se entienda mejor en el tomaremos el valor regresado por gets la leeremos y luego la visualizamos con puts.

Bien veamos un codigo de ejemplo:

Código:
// Leer y escribir una cadena de caracteres con gets y puts
// Compilado con Dev-C++ 4 & CodeBlocks 8.2
// http://razainformatica.org/foro
// http://ethical-security.co.cc
// http://e-r00t.org/foro
// http://zonahacknew.creatuforo.com
// http://mitm.cl/foro
// Un saludo a todas estas comunidades.

#include <stdio.h>
#include <conio.h>

main()
{
char *t = NULL; // En esta variable almacenaremos el valor retornado por gets
char texto[50];
printf("Por favor introduzca una cadena de texto:\n");
t = gets (texto);
printf("\n El texto introducido es:\n");
puts(texto); // Esto es equivalente a: printf("%s\n",texto);
getch();
}
// Probemos compilar haber que pasa xD.


Como ven no es nada del otro mundo, solo que este método me gusta mas, ya que te permite escribir espacios en blanco, en comparación con scanf, etc.

Bueno es todo por el momento, espero que se haya entendido.


Descargar el source y el articulo completo en formato .PDF de megaupload.

0 comentarios:

Publicar un comentario