Biblioteca C ++ IOS - empate
Descrição
É usado para obter / definir o fluxo vinculado.
C ++ 98
Por padrão, cin está vinculado a cout e wcin a wcout. Implementações de biblioteca podem amarrar outros fluxos padrão na inicialização.
C ++ 11
Por padrão, os fluxos estreitos padrão cin e cerr são vinculados a cout, e suas contrapartes de caracteres largos (wcin e wcerr) a wcout. Implementações de biblioteca também podem amarrar clog e wclog.
Declaração
A seguir está a declaração para a função ios :: tie.
get (1) ostream* tie() const;
set (2) ostream* tie (ostream* tiestr);
A primeira forma (1) retorna um ponteiro para o fluxo de saída vinculado.
A segunda forma (2) vincula o objeto a tiestr e retorna um ponteiro para o fluxo vinculado antes da chamada, se houver.
Parâmetros
tiestr - Um objeto de fluxo de saída.
Valor de retorno
Um ponteiro para o objeto stream vinculado antes da chamada ou um ponteiro nulo no caso de o stream não estar vinculado.
Exceções
Basic guarantee - se uma exceção for lançada, o fluxo está em um estado válido.
Corridas de dados
Acessa (1) ou modifica (2) o objeto de fluxo.
O acesso simultâneo ao mesmo objeto de fluxo pode causar disputas de dados.
Exemplo
No exemplo a seguir, explica sobre a função 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;
}
Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -
tie example:
This is inserted into cout