Libreria IOS C ++ - tie

Descrizione

Viene utilizzato per ottenere / impostare il flusso collegato.

C ++ 98

Per impostazione predefinita, cin è legato a cout e wcin a wcout. Le implementazioni della libreria possono legare altri flussi standard durante l'inizializzazione.

C ++ 11

Per impostazione predefinita, i flussi ristretti standard cin e cerr sono legati a cout e le loro controparti a carattere ampio (wcin e wcerr) a wcout. Le implementazioni della libreria possono anche legare clog e wclog.

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione ios :: tie.

get (1)	ostream* tie() const;
set (2)	ostream* tie (ostream* tiestr);

La prima forma (1) restituisce un puntatore al flusso di output legato.

La seconda forma (2) lega l'oggetto a tiestr e restituisce un puntatore al flusso legato prima della chiamata, se presente.

Parametri

tiestr - Un oggetto flusso di output.

Valore di ritorno

Un puntatore all'oggetto flusso legato prima della chiamata o un puntatore null nel caso in cui il flusso non fosse legato.

Eccezioni

Basic guarantee - se viene generata un'eccezione, il flusso è in uno stato valido.

Gare di dati

Accede a (1) o modifica (2) l'oggetto stream.

L'accesso simultaneo allo stesso oggetto flusso può causare gare di dati.

Esempio

Nell'esempio seguente viene spiegato la funzione ios :: tie.

#include <iostream>     
#include <fstream>      

int main () {
   std::ostream *prevstr;
   std::ofstream ofs;
   ofs.open ("test.txt");

   std::cout << "tie example:\n";

   *std::cin.tie() << "This is inserted into cout";
   prevstr = std::cin.tie (&ofs);
   *std::cin.tie() << "This is inserted into the file";
   std::cin.tie (prevstr);

   ofs.close();

   return 0;
}

Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:

tie example:
This is inserted into cout