Funciones de entrada/salida formateadas y sin formato en C con ejemplos

Este artículo se centra en discutir los siguientes temas en detalle:

  • Funciones de E/S formateadas.
  • Funciones de E/S sin formato.
  • Funciones de E/S con formato frente a funciones de E/S sin formato.

Funciones de E/S formateadas

Las funciones de E/S formateadas se utilizan para tomar varias entradas del usuario y mostrar múltiples salidas al usuario. Estos tipos de funciones de E/S pueden ayudar a mostrar la salida al usuario en diferentes formatos utilizando los especificadores de formato. Estas E/S admiten todos los tipos de datos como int, float, char y muchos más.

¿Por qué se llaman E/S formateadas?  

Estas funciones se denominan funciones de E/S formateadas porque podemos usar especificadores de formato en estas funciones y, por lo tanto, podemos formatear estas funciones según nuestras necesidades.

Lista de algunos especificadores de formato-

NO. Especificador de formato           Escribe             Descripción                                                    
1 %d int/firmado int utilizado para valor entero con signo de E/S
2 %C carbonizarse Utilizado para valor de carácter de E/S
3 %F flotar Se utiliza para el valor de punto flotante decimal de E/S        
4 %s cuerda Se utiliza para strings de E/S/grupos de caracteres                                                       
5 %ld largo tiempo Se utiliza para valores enteros largos con signo de E/S
6 %u int sin firmar    Se utiliza para valores enteros sin signo de E/S
7 %i int sin firmar utilizado para el valor entero de E/S
8 %lf doble Se utiliza para datos flotantes o fraccionarios de E/S 
9 %norte huellas dactilares no imprime nada 

Las siguientes funciones de E/S formateadas se tratarán en esta sección:

  1. imprimirf()
  2. escanear()
  3. sprintf()
  4. escanear()

imprimirf():

La función printf() se usa en un programa C para mostrar cualquier valor como flotante, entero, carácter, string, etc. en la pantalla de la consola. Es una función predefinida que ya está declarada en stdio.h (archivo de encabezado). 

Sintaxis 1: 

Para mostrar cualquier valor de variable.

printf(“Especificador de formato”, var1, var2, …., varn);  

Ejemplo:

C

// C program to implement
// printf() function
#include <stdio.h>
  
// Driver code
int main()
{
    // Declaring an int type variable
    int a;
  
    // Assigning a value in a variable
    a = 20;
  
    // Printing the value of a variable
    printf("%d", a);
  
    return 0;
}
Producción

20

Sintaxis 2:  

Para mostrar cualquier string o un mensaje

printf(“Ingrese el texto que desea mostrar”);

Ejemplo:

C

// C program to implement
// printf() function
#include <stdio.h>
  
// Driver code
int main()
{
    // Displays the string written
    // inside the double quotes
    printf("This is a string");
    return 0;
}
Producción

This is a string

escanear():

La función scanf() se usa en el programa C para leer o tomar cualquier valor del teclado por parte del usuario, estos valores pueden ser de cualquier tipo de datos como entero, flotante, carácter, string y muchos más. Esta función se declara en stdio.h (archivo de encabezado), por eso también es una función predefinida. En la función scanf() usamos & (operador de dirección) que se usa para almacenar el valor de la variable en la ubicación de memoria de esa variable.

Sintaxis: 

scanf(“Especificador de formato”, &var1, &var2, …., &varn);  

Ejemplo:

C

// C program to implement
// scanf() function
#include <stdio.h>
  
// Driver code
int main()
{
    int num1;
  
    // Printing a message on
    // the output screen
    printf("Enter a integer number: ");
  
    // Taking an integer value
    // from keyboard
    scanf("%d", &num1);
  
    // Displaying the entered value
    printf("You have entered %d", num1);
  
    return 0;
}
Producción

Enter a integer number: You have entered 0

Producción:

Enter a integer number: 56
You have entered 56

sprintf():

sprintf significa «impresión de string» . Esta función es similar a la función printf() pero esta función imprime la string en una array de caracteres en lugar de imprimirla en la pantalla de la consola.

Sintaxis:

sprintf(nombre_array, “especificador de formato”, nombre_variable);

Ejemplo:

C

// C program to implement
// the sprintf() function
#include <stdio.h>
  
// Driver code
int main()
{
    char str[50];
    int a = 2, b = 8;
  
    // The string "2 and 8 are even number"
    // is now stored into str
    sprintf(str, "%d and %d are even number",
            a, b);
  
    // Displays the string
    printf("%s", str);
    return 0;
}
Producción

2 and 8 are even number

escanear():

sscanf significa «string scanf». Esta función es similar a la función scanf() pero esta función lee datos de la string o array de caracteres en lugar de la pantalla de la consola.

Sintaxis:

sscanf(nombre_array, “especificador de formato”, &nombre_variable);

Ejemplo: 

C

// C program to implement
// sscanf() function
#include <stdio.h>
  
// Driver code
int main()
{
    char str[50];
    int a = 2, b = 8, c, d;
  
    // The string "a = 2 and b = 8"
    // is now stored into str
    // character array
    sprintf(str, "a = %d and b = %d",
            a, b);
  
    // The value of a and b is now in
    // c and d
    sscanf(str, "a = %d and b = %d",
           &c, &d);
  
    // Displays the value of c and d
    printf("c = %d and d = %d", c, d);
    return 0;
}
Producción

c = 2 and d = 8

Funciones de entrada/salida sin formato

Las funciones de E/S sin formato se usan solo para tipos de datos de caracteres o arrays/strings de caracteres y no se pueden usar para ningún otro tipo de datos. Estas funciones se utilizan para leer una sola entrada del usuario en la consola y permite mostrar el valor en la consola.

¿Por qué se llaman E/S sin formato?  

Estas funciones se denominan funciones de E/S sin formato porque no podemos usar especificadores de formato en estas funciones y, por lo tanto, no podemos formatear estas funciones según nuestras necesidades.

En esta sección se analizarán las siguientes funciones de E/S sin formato:

  1. obtener()
  2. Obtener()
  3. obtener char()
  4. poner()
  5. obtiene()
  6. pone()
  7. patear()

obtener():

La función getch() lee un solo carácter del teclado por parte del usuario, pero no muestra ese carácter en la pantalla de la consola y regresa inmediatamente sin presionar la tecla Intro. Esta función se declara en conio.h(archivo de cabecera). getch() también se usa para mantener la pantalla.

Sintaxis:  

obtener(); 

nombre-variable = getch();

Ejemplo:

C

// C program to implement
// getch() function
#include <conio.h>
#include <stdio.h>
  
// Driver code
int main()
{
    printf("Enter any character: ");
  
    // Reads a character but
    // not displays
    getch();
  
    return 0;
}

Producción:

Introduzca cualquier caracter: 

Obtener():

La función getche() lee un solo carácter del teclado por parte del usuario y lo muestra en la pantalla de la consola y regresa inmediatamente sin presionar la tecla Intro. Esta función se declara en conio.h(archivo de cabecera).

Sintaxis:

obtener(); 

nombre_variable = getche();

Ejemplo:

C

// C program to implement
// the getche() function
#include <conio.h>
#include <stdio.h>
  
// Driver code
int main()
{
    printf("Enter any character: ");
  
    // Reads a character and
    // displays immediately
    getche();
    return 0;
}

Producción:

Introduzca cualquier caracter: g

getchar(): 

La función getchar() se usa para leer solo un primer carácter del teclado, ya sea que el usuario escriba varios caracteres y esta función lee un carácter a la vez hasta que se presione la tecla Intro. Esta función se declara en stdio.h (archivo de encabezado)

Sintaxis: 

Nombre-variable = getchar();

Ejemplo:

C

// C program to implement
// the getchar() function
#include <conio.h>
#include <stdio.h>
  
// Driver code
int main()
{
    // Declaring a char type variable
    char ch;
  
    printf("Enter the character: ");
  
    // Taking a character from keyboard
    ch = getchar();
  
    // Displays the value of ch
    printf("%c", ch);
    return 0;
}

Producción:

Introduzca el carácter: un

a

putchar():

La función putchar() se usa para mostrar un solo carácter a la vez pasándole ese carácter directamente o pasándole una variable que ya ha almacenado un carácter. Esta función se declara en stdio.h (archivo de encabezado) 

Sintaxis: 

putchar(nombre_variable);  

Ejemplo:

C

// C program to implement
// the putchar() function
#include <conio.h>
#include <stdio.h>
  
// Driver code
int main()
{
    char ch;
    printf("Enter any character: ");
  
    // Reads a character
    ch = getchar();
  
    // Displays that character
    putchar(ch);
    return 0;
}

Producción:

Introduzca cualquier caracter: Z

Z

obtiene():

La función gets() lee un grupo de caracteres o strings del teclado por parte del usuario y estos caracteres se almacenan en una array de caracteres. Esta función nos permite escribir textos separados por espacios o strings. Esta función se declara en stdio.h (archivo de encabezado).

Sintaxis:

char str[longitud de la string en número]; //Declarar una variable de tipo char de cualquier longitud 

obtiene(string); 

 Ejemplo:

C

// C program to implement
// the gets() function
#include <conio.h>
#include <stdio.h>
  
// Driver code
int main()
{
    // Declaring a char type array
    // of length 50 characters
    char name[50];
  
    printf("Please enter some texts: ");
  
    // Reading a line of character or
    // a string
    gets(name);
  
    // Displaying this line of character
    // or a string
    printf("You have entered: %s",
           name);
    return 0;
}

Producción:

Por favor ingrese algunos textos: geeks para geeks

Has entrado: geeks para geeks

pone():

En la programación C, la función puts() se usa para mostrar un grupo de caracteres o strings que ya están almacenados en una array de caracteres. Esta función se declara en stdio.h (archivo de encabezado).

Sintaxis:  

 puts(nombre_identificador);

Ejemplo:

C

// C program to implement
// the puts() function
#include <stdio.h>
  
// Driver code
int main()
{
    char name[50];
    printf("Enter your text: ");
  
    // Reads string from user
    gets(name);
  
    printf("Your text is: ");
  
    // Displays string
    puts(name);
  
    return 0;
}

Producción:

Ingrese su texto: GeeksforGeeks

Tu texto es: GeeksforGeeks

putch():

La función putch() se usa para mostrar un solo carácter proporcionado por el usuario y ese carácter se imprime en la ubicación actual del cursor. Esta función se declara en conio.h(archivo de cabecera)

Sintaxis:     

putch(nombre_variable);  

Ejemplo:

C

// C program to implement
// the putch() functions
#include <conio.h>
#include <stdio.h>
  
// Driver code
int main()
{
    char ch;
    printf("Enter any character:\n ");
  
    // Reads a character from the keyboard
    ch = getch();
  
    printf("\nEntered character is: ");
  
    // Displays that character on the console
    putch(ch);
    return 0;
}

Producción:

Introduzca cualquier caracter:

El caracter ingresado es: d

E/S con formato frente a E/S sin formato

No. S. Funciones de E/S formateadas                               Funciones de E/S sin formato                       
1 Estas funciones nos permiten tomar entradas o mostrar salidas en el formato deseado por el usuario. Estas funciones no permiten tomar entradas o mostrar salidas en el formato deseado por el usuario.
2 Estas funciones admiten especificadores de formato. Estas funciones no admiten especificadores de formato.
3 Estos se utilizan para almacenar datos más fáciles de usar. Estas funciones no son más fáciles de usar.
4 Aquí, podemos usar todos los tipos de datos. Aquí, solo podemos usar tipos de datos de caracteres y strings.
5 printf(), scanf, sprintf() y sscanf() son ejemplos de estas funciones. getch(), getche(), gets() y puts(), son algunos ejemplos de estas funciones.

Publicación traducida automáticamente

Artículo escrito por shivamsaini839494 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *