¿Qué es en C++?

es la cabecera que contiene las definiciones de las clases y métodos de stream estándar de C++. Los streams son la abstracción/estándar soportado en C++ para realizar IO.

Los streams más utilizados en C++ son cin para la entrada y cout para la salida. Efectivamente los streams proporcionan una abstracción portable del lenguaje para interactuar con el sistema de archivos local para leer y escribir datos persistentes. El código de usuario no necesita utilizar los flujos cin y cout (o incluso cerr para los errores) comúnmente utilizados. Estos flujos predefinidos son principalmente convenciones, pero su objetivo no debería ser abarrotar estos flujos con responsabilidades y dependencias innecesarias.

The following is an example C++ program utilizing streams:

  1. #include //includes iostream header 
  2. #include //includes filestream header 
  3.  
  4. int main() { 
  5.  
  6. { //block for standard 
  7. //C++ streams 
  8.  
  9. std::string s; //local string variable 
  10. //declaration 
  11.  
  12. std::cin >> s; //read string from 
  13. //standard input 
  14.  
  15. std::cout << s; //write string to 
  16. //standard output 
  17.  
  18. std::cerr << s; //write string to 
  19. //standard error out 
  20.  
  21.  
  22. { //block for user 
  23. //streams 
  24.  
  25. std::string s; //local string 
  26. //variable declaration 
  27.  
  28. std::ifstream input("in.txt"); //creating input stream 
  29. //named input 
  30. //stream filename=in.txt 
  31.  
  32. std::ofstream output("out.txt"); //creating output stream 
  33. //named output 
  34. //stream filename=out.txt 
  35.  
  36. input >> s; //reads a string 
  37. //from input stream 
  38.  
  39. output << s; //writes string to 
  40. //output stream 
  41. return 0; 

El programa anterior leerá una cadena de un usuario y la imprimirá tanto en el flujo de salida estándar como en el flujo de error estándar. (Tenga en cuenta que muchos terminales mostrarán estos dos flujos simultáneamente sin dejar claro que la salida proviene de flujos diferentes). Después de leer esa cadena e imprimirla, el programa abrirá un archivo llamado "in.txt" leerá una sola cadena de este archivo, e imprimirá esa cadena en otro archivo llamado "out.txt"

Nota final: En los sistemas linux/unix se puede redirigir cin/cout estándar para leer y escribir en/desde archivos en lugar de la entrada de la consola con la siguiente sintaxis del shell:

  1. ./PROGRAM_INVOCATION < INPUT_FILE > OUTPUT_FILE 

The ‘<’ specifies that the next string is the name of the input file to read for std::cin and the ‘>’ specifies that the next string argument is the output file to write std::cout to.