Diferencia entre cout y puts() en C++ con ejemplos

Flujo de salida estándar (cout): la instrucción cout de C++ es la instancia de la clase ostream . Se utiliza para mostrar la salida en el dispositivo de salida estándar que suele ser la pantalla de visualización. Los datos necesarios para mostrarse en la pantalla se insertan en el flujo de salida estándar ( cout ) mediante el operador de inserción ( << ). Para más detalles, prefiera este artículo.

puts() : se puede usar para imprimir una string. Generalmente es menos costoso, y si la string tiene caracteres de formato como ‘%’ , entonces printf() daría resultados inesperados. Si la string str es una string ingresada por el usuario, entonces el uso de printf() podría causar problemas de seguridad. Para más detalles, prefiera este artículo.

Las diferencias son:

S.NO cout pone()
1  Es un objeto predefinido de la clase ostream. puts es una función predefinida (función de biblioteca).
2 cout es un objeto que utiliza la función de operador de inserción sobrecargada (<<) para imprimir datos. puts es una función completa, no utiliza el concepto de sobrecarga.
3 cout puede imprimir tanto el número como la string. puts solo puede imprimir strings.
4 para usar cout necesitamos incluir el archivo de encabezado iostream.h. Para usar puts, debemos incluir el archivo de encabezado stdio.h.

Programa 1:

C++

// C++ program use of puts
#include <iostream>
#include <stdio.h>
using namespace std;
  
// main code
int main()
{
    puts("Geeksforgeeks");
    fflush(stdout);
    return 0;
}
Producción:

Geeksforgeeks

Programa 2: el siguiente programa no requiere fflush para vaciar el búfer de salida, porque cout lo tiene incorporado.

C++

// C++ program use of cout
#include <iostream>
using namespace std;
  
// main code
int main()
{
    cout << "Geeksforgeeks" << endl;
  
    return 0;
}
Producción:

Geeksforgeeks

Publicación traducida automáticamente

Artículo escrito por shivanisinghss2110 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 *