English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de lenguaje C

Control de flujo de lenguaje C

Funciones en C

Arreglos en C

Punteros en C

Cadenas en C

Estructura de lenguaje C

Archivo de lenguaje C

Otro C

Manual de referencia del lenguaje C

gets() y puts() en C

gets() y puts() se declaran en el archivo de cabecera stdio.h. Estas funciones se utilizan para la entrada de cadenas/Operaciones de salida.

Función gets() en C

La función gets() permite al usuario introducir algunos caracteres y luego presionar la tecla Enter. Todos los caracteres introducidos se almacenan en un array de caracteres. Se añade un carácter de cadena vacío para que se convierta en una cadena. gets() permite al usuario introducir una cadena separada por espacios. Devuelve la cadena introducida por el usuario.

Declaración

char[] 	gets(char[]);

Uso de gets() para leer una cadena

#include<stdio.h>
void 	main(){
	char 	s[30];
	printf("¿Introduce una cadena? ");
	gets(s);
	printf("Has introducido 	%s", s);
}

Resultados de salida

¿Introduce una cadena? 
es.oldtoolbag.com
Has introducido 	es.oldtoolbag.com

Uso de la función gets() es riesgoso, ya que no realiza ninguna verificación de enlace de arrays y lee caracteres hasta que encuentra una nueva línea (enter). Es susceptible a la sobrecarga de búfer, lo que se puede evitar utilizando fgets(). fgets() asegura que los caracteres leídos no excedan el límite máximo. Vea el siguiente ejemplo.

#include<stdio.h>
void 	main() 
{ 
   char 	str[20]; 
   printf("¿Introduce una cadena? ");
   fgets(str, 20, 	stdin); 
   printf("%s", 	str); 
}

Resultados de salida

¿Introduce una cadena? 	es.oldtoolbag.com 	Sitio web de tutoriales básicos
es.oldtoolbag.com 	Básico

Función puts() en C

La función puts() es muy similar a la función printf(). La función puts() se utiliza para imprimir cadenas en la consola, antes de leer la cadena con la función get() o scanf(). La función actúa: devuelve un valor entero que representa el número de caracteres impresos en la consola. Dado que utiliza un carácter de nueva línea adicional para imprimir, lo que mueve el cursor a una nueva línea en la consola, el valor entero devuelto por puts() siempre es igual al número de caracteres en la cadena más1.

Declaración

int 	puts(char[])

Veamos un ejemplo, que utiliza gets() para leer una cadena y puts() para imprimirla en la consola.

#include<stdio.h>  
#include 	<string.h>    
int 	main(){    
    char 	name[50];    
    printf("Introduce tu nombre: ");    
    gets(name); //Leer cadena del usuario    
    printf("Tu nombre es: ");    
    puts(name);  //Mostrar cadena    
    return 0;    
}

Salida:

Ingresa tu nombre: Seagull Li
Tu nombre es: Seagull Li