Bibliothèque C ++ IOS - cravate

La description

Il est utilisé pour obtenir / définir un flux lié.

C ++ 98

Par défaut, cin est lié à cout et wcin à wcout. Les implémentations de bibliothèque peuvent lier d'autres flux standard lors de l'initialisation.

C ++ 11

Par défaut, les flux étroits standard cin et cerr sont liés à cout, et leurs équivalents à caractères larges (wcin et wcerr) à wcout. Les implémentations de bibliothèque peuvent également lier le clog et le wclog.

Déclaration

Voici la déclaration de la fonction ios :: tie.

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

Le premier formulaire (1) renvoie un pointeur vers le flux de sortie lié.

Le deuxième formulaire (2) lie l'objet à tiestr et renvoie un pointeur vers le flux lié avant l'appel, le cas échéant.

Paramètres

tiestr - Un objet de flux de sortie.

Valeur de retour

Un pointeur vers l'objet de flux lié avant l'appel, ou un pointeur nul au cas où le flux ne serait pas lié.

Des exceptions

Basic guarantee - si une exception est levée, le flux est dans un état valide.

Courses de données

Accède (1) ou modifie (2) l'objet de flux.

L'accès simultané au même objet de flux peut provoquer des courses de données.

Exemple

L'exemple ci-dessous explique la fonction 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;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

tie example:
This is inserted into cout