Funções C ++ do Theream

Funções C ++ do Theream
Os dados são armazenados localmente em computadores através do manuseio de arquivos. Podemos inserir o conteúdo na memória secundária, gerenciando arquivos.

A melhor maneira de lidar com arquivos

As etapas abaixo devem ser tomadas para lidar com arquivos:

  • Dê um nome para arquivar
  • Abra um arquivo.
  • Insira informações no arquivo.
  • Retire os dados do arquivo.
  • Desligue um arquivo.

Fluxos em c++

Fornecemos entrada para o código -fonte e o código existente retorna a saída. O termo "fluxo" refere -se ao fluxo de bytes que são fornecidos ao programa principal como entrada e a série de bytes que foram devolvidos pelo código -fonte. Em outras palavras, os fluxos são mais do que apenas uma sucessão de dados fluindo.

“Operação de entrada e saída do console refere -se à entrada e saída entre o programa que está em execução e os dispositivos de entrada e saída, como o teclado e o monitor. “Operação de entrada e saída de disco refere -se às saídas e entradas entre o software e os arquivos atualmente em execução.

Classes de procedimentos de fluxo de arquivos

Uma coleção de classes nos módulos de entrada e saída C ++ especificam as técnicas de manuseio de arquivos. Continha as classes seream, de stream e fStream. Essas classes são descendentes da classe Fream e sua classe iostream relacionada. Qualquer aplicativo que utilize arquivos deve incluir o arquivo FStream, pois contém as declarações para as classes usadas para lidar com os arquivos de armazenamento.

iOS
Esta categoria é o módulo principal para todas as outras classes neste sistema hierárquico. iOS indica fluxo de entrada e saída.

Os recursos necessários para as funções de entrada e saída utilizadas por todas as outras subclasses são fornecidas nesta classe.

istream
O fluxo de entrada é referido como istream. Este tipo é um descendente da classe 'iOS'. A entrada de fluxo é gerenciada por esta categoria.

Esta classe substituiu o operador de extração (>>) para gerenciar fluxos de entrada para a implementação de um código.

Os métodos de entrada get (), getLine () e read () são especificados neste módulo.

Ostream
Ostream refere -se ao fluxo de saída. A classe 'iOS' é um descendente deste. O fluxo de saída é controlado por este componente.

Streambuf
O buffer utilizado para controlar os fluxos de entrada e saída é referido através de um ponteiro neste módulo.

fStreambase
Esta classe oferece funções que prevalecem para arquivar fluxos. Ele atua como base para as categorias: FStream, Ifstream e Ofstream.

Os métodos Open () e Close () estão incluídos neste módulo.

ifstream
As operações de entrada são oferecidas por este tipo. O método open () está presente e a opção de entrada é usual. Ele adquire os métodos Read (), Seek (), Tell (), Get () e GetLine () do istream.

Ofstream
Esta classe contém funções para saída. Inclui o método de saída padrão para o método aberto (). Ele lida com os métodos PUT (), Write (), Seek () e Tell () e Tell ().

fStream
A capacidade de múltiplas funções de entrada e saída é tratada por esta classe. Por iostream, ele importa todos os métodos das interfaces istream e ostream.

FileBuf
Definir os buffers de arquivo para ler e escrever o texto é sua função. O método do componente do buffer de arquivo pode ser utilizado para calcular o tamanho do arquivo também. Três classes-fstream, ifstream e ofstream-estão presentes no modelo FSTREAM e são utilizadas principalmente em C ++ para lidar com arquivos.

  • Ofstream: Um tipo de fluxo de gravação de arquivos.
  • Ifstream: É uma classe para ler arquivos de fluxos.
  • FStream: É um tipo de fluxo que pode ler e escrever para/de arquivos.

Operação de C ++ de Stream

O arquivo de cabeçalho iostream, que possui os métodos CIN e Cout, seria utilizado para ler da fonte de entrada e gravar no arquivo de saída. Da mesma forma, o arquivo de cabeçalho C ++ é usado para ler conteúdo de arquivos e gravar informações em arquivos. As três classes de dados de stream, ifstream e fStream são oferecidas pelo arquivo de cabeçalho FStream. Utilizamos o OfStream integrando o módulo no código, mesmo quando é importante representar o fluxo de arquivos de saída, gerar um arquivo e gravar dados no arquivo. A classe Ostream é um descendente de Stream.

Sintaxe
A sintaxe para C ++ de Stream é a seguinte:

# ofstream var_name;
var_name.aberto (file_name);

O nome da variável exigida é representada pelo 'var_name'. O arquivo que será acessado é denominado 'file_name'.

O método aberto do fluxo de saída

Um fluxo de arquivo de saída (OFSTREAM) deve ser vinculado a um sistema de arquivos específico no construtor ou método aberto para que possa ser utilizado. Os usuários podem utilizar a instância de fluxo idêntico com vários arquivos se utilizarmos o método aberto. Os parâmetros usados ​​para identificar o arquivo são semelhantes a todos os cenários.

Normalmente, um parâmetro de modo aberto é especificado sempre que a abertura de um arquivo conectado a um fluxo de saída. Esses atributos, que foram enumeradores no módulo de fluxo de entrada e saída, podem ser emparelhados usando o Bitwise ou o operador.

O Colocar Método

Uma letra é gravada no fluxo de saída pelo método put.

O Escrever Método

Um bloco de memória é escrito em um fluxo de arquivo de saída através do método de gravação. O número de bytes apresentados é fornecido pelo parâmetro de tamanho. Toda a estrutura da classe é escrita porque o método de gravação não termina quando encontra um elemento nulo. Um comando de char e o número de caracteres para escrever são as duas entradas que a função requer. Pouco antes da referência do elemento da estrutura, tome nota da conversão apropriada para char *.

Os métodos Seekp e Tellp

Um ponteiro intrínseco que identifica o caminho dos próximos dados é mantido por um fluxo de arquivo de saída. Esta porta é criada pela chamada de função Seekp, que também retorna arquivos de armazenamento de acesso aleatório. O endereço do arquivo é obtido pela chamada da função do solp.

A função próxima

O arquivo de armazenamento do fluxo de arquivo de saída é encerrado usando a chamada de método de fechamento. Para terminar toda a saída para o sistema, o arquivo deve ser fechado. Se necessário, o destruidor de stream encerra o arquivo para você. No entanto, se quisermos abrir um novo arquivo para a mesma classe de fluxo, utilizaremos o método de fechamento. Se o método do construtor ou membro aberto abrir o arquivo, o fluxo de saída destruidora o funcionamento do funcionamento no arquivo do fluxo? Devemos fechar manualmente o arquivo se utilizarmos a chamada de método de anexo ou fornecer um nome de arquivo para um arquivo aberto ao construtor.

Constantes de membros

Diferentes constantes de membros usam as funções do OfSream são:

Membro constante: em *

Representa a entrada.

Arquivo acessível para leitura. As operações de entrada são fornecidas pelo buffer de fluxo intrínseco.

Membro Constante: Out

Representa a saída.

Arquivo Acessível para o formulário escrito: as operações de saída são tratadas pelo buffer de fluxo subjacente.

Membro Constante: Binário

Mostra o valor binário.

Em vez de usar o texto, as operações são realizadas no modo binário.

Constante de membro: comeu

Denota no final.

O terminal do arquivo é onde o local de saída começa.

Constante de membro: App

Representa o append.

Os dados atuais do arquivo são adicionados a cada operação de saída, que ocorre.

Membro constante: trunc

Indica truncamento.

Pouco antes da abertura do arquivo, todos os seus dados foram removidos.

Exemplo 1

Neste exemplo, veríamos como criar um arquivo em C++.

No início deste código, adicionamos bibliotecas que são e que são responsáveis ​​por gerenciar os arquivos como criar, adicionar, atualizar e excluir os arquivos. Em seguida, adicione o namespace padrão. Depois disso, começamos nossa função principal (). Na função Main (), obtemos nosso arquivo usando a função OfStream () usada para criar o novo arquivo no sistema de arquivos C ++. Nos parâmetros desta função, passamos nosso arquivo dando o nome certo do arquivo.

Lembre -se de que o arquivo de código e o arquivo de texto devem ser colocados no mesmo local. Aqui, escrevemos a condição de que, se o arquivo existir, não insira a declaração e execute a declaração else onde mostramos uma mensagem de que o arquivo existe. Quando o arquivo não estará presente, criamos o arquivo e escrevemos algum texto neste arquivo. Em seguida, fechamos o arquivo chamando a função Close () com o nome do arquivo, como você pode ver nas duas saídas abaixo. Executamos o código pela primeira vez e o arquivo é criado, mas quando executamos o código na segunda vez que ele nos dá a mensagem de que o arquivo existe.

Se o arquivo definido existir, adquirimos esse tipo de resultado.

Exemplo 2

Nesse caso, escreveríamos os dados no arquivo.

Como sabemos, a função OfSream também é usada para escrever, atualizar ou editar o arquivo de texto no sistema de arquivos de C++. Então, aqui escrevemos um código para escrever algum texto em um arquivo de documento. Para esse fim, temos nossas bibliotecas necessárias que e a primeira biblioteca contendo a definição de funções de entrada e saída. Em seguida, utilizamos o padrão do espaço para nome e escrevemos a função principal ().

Depois disso, obtenha o arquivo que criamos com a ajuda de nosso último código. Novamente, usando a função ofstream (), a função gerenciará todas as nossas operações relacionadas ao arquivamento nesse idioma. Inicializamos um arquivo e passamos nosso arquivo de texto para ele usando a função Open () e passando o arquivo de texto nos parâmetros desta função. Em seguida, passamos uma frase para o arquivo e exibimos uma mensagem que é 'gravação de arquivo com sucesso'. Em seguida, ligue para a função Close () com o nome do arquivo para fechar nosso arquivo de texto que foi aberto no início do código para adicionar algum texto neste arquivo.

Exemplo 3

Nesse caso, vemos como verificar se o arquivo está vazio ou não.

No arquivo anterior, adicionamos nosso texto no arquivo, mas não exibimos. Portanto, também podemos verificar se nosso arquivo está vazio ou não exibindo o conteúdo do arquivo. Se estiver vazio, adicionamos algum texto e exibimos novamente os dados no console. A primeira linha inclui nossos arquivos de cabeçalho que suportam nossas diferentes funções relacionadas à entrada e saída, bem como relacionadas aos nossos arquivos. Adicionamos nosso namespace padrão. Na próxima linha, iniciamos a função principal () onde realizamos todas as nossas funcionalidades escrevendo o código.

Primeiro, chamamos a função ofstream () e inicializamos o arquivo. Em seguida, ligue para a função Open () para passar o arquivo, dando o nome do arquivo aos parâmetros. Em seguida, dê -o à variável de arquivo que criamos anteriormente. Em seguida, exibimos os dados do arquivo usando o loop 'while' porque a linguagem C ++ lê a palavra do arquivo de texto por palavra, então usamos um loop de tempo. Na condição de um loop de tempo, chamamos a função Get Line que é usada para ler o arquivo de texto. Nos parâmetros, se esta função enviamos nosso arquivo e uma string que salva todos os dados. No While Loop, exibimos nosso arquivo e fechamos o arquivo chamando a função Close ().

Exemplo 4

Nesta ilustração, vamos editar os dados do arquivo.

No código anterior, como você pode ver, exibimos nosso arquivo, mas não havia dados nesse arquivo, então aqui adicionamos alguns dados na forma de texto. Então, tentamos exibir esses dados. Primeiro, escrevemos nossas bibliotecas. Essas bibliotecas nos ajudam a chamar funções para executar alguma ação no local de algum código ou algoritmos complexos para fazer alguma função complicada em todos os campos de código. Essas bibliotecas eram e . Em seguida, adicionamos padrões de namespace. Antes de iniciar o código, invocamos a função principal () porque devemos escrever todo o nosso código nesta função. Na função Main (), a primeira coisa que fizemos foi inicializar o arquivo usando nossa função ofstream ().

Em seguida, passamos nosso arquivo de texto para esta variável de arquivo chamando a função Open (). Quando chamamos essa função, fizemos as coisas. Primeiro, passamos nosso arquivo de texto para a variável de arquivo, bem como abrir o arquivo de texto. Na próxima linha, adicionamos alguns dados de texto ao arquivo de texto que abrimos anteriormente. Depois de colocar os dados, fechamos nosso arquivo adicionando a função Close () com a variável do arquivo de texto. Aqui, inicializamos uma string. O objetivo desta string é obter os dados do arquivo que criamos e atualizamos acima. Portanto, chamamos nossa função ifStream () responsável por exibir os dados que estão na forma de texto no arquivo, bem como usando essa função, também inicializamos outra variável de arquivo e passamos nosso arquivo de texto para esta variável de arquivo.

Agora, estamos exibindo os dados. Então, para esse fim, usamos um loop 'while'. Chamamos a função getLine () para buscar as linhas do nosso arquivo de texto que passamos nos parâmetros desta função. Neste loop, utilizamos 'cout' para imprimir a string que passamos na função getLine (). Quando a tela é concluída, o loop termina após fechar o arquivo chamando a função Close () com nosso arquivo de texto.

Conclusão

Na primeira seção deste artigo, discutimos qual manuseio de arquivos na linguagem de programação C ++ envolve. Também conversamos sobre o método apropriado para gerenciar arquivos e as funções das classes de fluxo de arquivos. O método ofstream () foi então usado em uma variedade de programas que implementamos. No primeiro programa, um arquivo foi criado. Então, na próxima instância, o conteúdo é escrito no arquivo. Em seguida, determinamos se o arquivo está vazio. Devemos atualizar o arquivo no final.