std::cin - std::cout - std::cerr

CONSOLE INPUT, OUTPUT ed ERROR

Appartengono alla STL (Standard Template Library), con header:

#include <iostream>

Appartengono al namespace std. Non sono funzioni, ma oggetti (di tipo classe)

Extractor preleva caratteri (da tastiera) e li trasforma in dati dentro una variabile

std::cin >> variabile;
  • è 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>)

Insertion deposita caratteri (nel terminale video) a partire dai dati della variabile

std::cout << variabile;
  • 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)

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;
}
  • appunti3s/cin_cout.txt
  • Last modified: 2019/07/28 09:46
  • by profpro