Cos’è ‘iostream’ in C++?

è l'intestazione che contiene le definizioni per le classi e i metodi standard dei flussi in C++. Gli stream sono l'astrazione/standard supportata in C++ per eseguire l'IO.

Gli stream più comunemente usati in C++ sono cin per l'input e cout per l'output. Effettivamente i flussi forniscono un'astrazione portatile del linguaggio per interfacciarsi con il file system locale per leggere e scrivere dati persistenti. Il codice utente non ha bisogno di utilizzare i flussi cin e cout comunemente usati (o anche cerr per gli errori). Questi flussi predefiniti sono principalmente convenzioni, ma il vostro obiettivo non dovrebbe essere quello di ingombrare questi flussi con responsabilità e dipendenze non necessarie.

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.  
  23. { //block for user 
  24. //streams 
  25.  
  26. std::string s; //local string 
  27. //variable declaration 
  28.  
  29. std::ifstream input("in.txt"); //creating input stream 
  30. //named input 
  31. //stream filename=in.txt 
  32.  
  33. std::ofstream output("out.txt"); //creating output stream 
  34. //named output 
  35. //stream filename=out.txt 
  36.  
  37. input >> s; //reads a string 
  38. //from input stream 
  39.  
  40. output << s; //writes string to 
  41. //output stream 
  42. } 
  43. return 0; 
  44. } 

Il programma precedente leggerà una stringa da un utente e la stamperà sia sul flusso di output standard che sul flusso di errore standard (si noti che molti terminali visualizzeranno questi due flussi simultaneamente senza rendere chiaro che l'output proviene da flussi diversi). Dopo aver letto quella stringa e averla stampata, il programma aprirà un file chiamato "in.txt" leggerà una singola stringa da questo file, e stamperà quella stringa in un altro file chiamato "out.txt"

Nota finale: Nei sistemi linux/unix potete reindirizzare lo standard cin/cout per leggere e scrivere da/verso file piuttosto che l'input della console con la seguente sintassi della 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.