Differences

This shows you the differences between two versions of the page.

Link to this comparison view

appunti3s:cin_cout [2018/04/25 07:55] (current)
Line 1: Line 1:
 +====== std::cin - std::cout - std::cerr ====== ​
 +CONSOLE INPUT, OUTPUT ed ERROR
 +
 +Appartengono alla STL (Standard Template Library), con header:
 +<​code>#​include <​iostream></​code>​
 +Appartengono al namespace //std//. Non sono funzioni, ma oggetti (di tipo classe)
 +===== operatore Extractor >> =====
 +Extractor preleva //​caratteri//​ (da tastiera) e li trasforma in //dati// dentro una variabile
 +<​code>​std::​cin >> variabile;</​code>​
 +  * รจ insensibile agli eventuali spazi iniziali (o tabulazioni) ​
 +  * termina la lettura al primo spazio (o invio o tabulazione)
 +  * //​getline(std::​cin,​varstring)//​ legge invece anche gli spazi
 +  * //​std::​cin.get(varchar)//​ legge un solo carattere.
 +
 +Provare a scrivere un esempio di programma che legge separatamente nome e cognome e poi mette questi dati all'​interno di un'​unica variabile usando l'​operatore //​concatenazione//​ (//+//).
 +Provare a scrivere l'​esempio inverso... (aiutati da std::​stringstream in <​sstream>​)
 +===== operatore Insertion << =====
 +Insertion deposita //​caratteri//​ (nel terminale video) a partire dai //dati// della variabile
 +<​code>​std::​cout << variabile;</​code>​
 +  * il valore speciale //​std::​endl//​ inserisce un newline e svuota il buffer
 +==== Manipolatori permanenti ====
 +I manipolatori di output permettono di trattare il testo prima di visualizzarlo.
 +Alcuni hanno un effetto temporaneo, molti hanno un effetto permanente (vanno annullati esplicitamente)
 +
 +<file c base.cpp>​
 +#include <​iostream>​
 +#include <​iomanip>​
 +int main()
 +{
 +    std::cout << 44 << std::​endl; ​                                 // 44
 +    std::cout << std::hex << 44 << std::​endl; ​                     // 2c (base permanente) ​
 +    std::cout << std::​showbase << 44 << std::​endl; ​                // 0x2c 
 +    std::cout << std::dec << 44 << std::​endl; ​                     // 44
 +    std::cout << std::​setprecision(4) << 99.123465 << std::​endl; ​  // 99.12 (precisione permanente)
 +    std::cout << std::fixed << 99.123465 << std::​endl; ​            // 99.1235
 +    std::cout << std::​scientific << 99.123465 << std::​endl; ​       // 9.9123e+01
 +    return 0;
 +}
 +</​file>​
 +
  
  • appunti3s/cin_cout.txt
  • Last modified: 2018/04/25 07:55
  • (external edit)