Fluxos em C ++

A maioria dos programadores pensar em um fluxo como a mesma coisa que um arquivo. Você sabe - um arquivo que está armazenado em seu disco rígido ou talvez em um Serial Bus drive flash USB (Universal) ou cartão Secure Digital (SD). Mas fluxos de ir além de apenas arquivos. UMA corrente representa qualquer tipo de estrutura de dados que lhe corrente (Isto é, o fluxo) seus dados para dentro e fora em uma seqüência de bytes.

Quando você escreve um aplicativo que lida com arquivos, você deve usar uma ordem específica:

  1. Abra o arquivo.

    Antes de poder utilizar um arquivo, você deve abri-lo. Ao fazer isso, você especificar um nome de arquivo.

  2. Acessar o arquivo.

    Depois de abrir um arquivo, você quer armazenar dados nele (isto é chamado escrevendo dados para o arquivo) ou obter dados fora dele (isso é chamado leitura dados do arquivo).

  3. Feche o arquivo.

    Depois de ter terminado a leitura e gravação de um arquivo, você deve fechar o arquivo.

Por exemplo, um aplicativo que rastreia seus stocks e escreve a sua carteira para um arquivo no final do dia pode fazer estes passos:

  1. Peça ao usuário um nome de um arquivo.

  2. Abra o arquivo.

  3. Para cada objeto de ações, escrever os dados de estoque para o arquivo.

  4. Feche o arquivo.

Na manhã seguinte, quando o aplicativo é iniciado, ele pode querer ler as informações de volta Aqui está o que ele pode fazer.:

  1. Peça ao usuário para o nome do arquivo.

  2. Abra o arquivo.

  3. Enquanto não há mais dados no arquivo, criar um novo banco de objeto, ler os dados a partir do arquivo, e colocar os dados no da objeto.

  4. Feche o arquivo.

Aqui estão algumas razões para fechar um arquivo depois que você terminar de usá-lo:

  • Outras aplicações podem estar esperando para usar o arquivo. Alguns sistemas operacionais permitem que uma aplicação trancar um arquivo, o que significa que nenhum outro aplicativo pode abrir o arquivo enquanto o aplicativo que bloqueou o arquivo está usando. Em tais situações, outro aplicativo pode usar o arquivo depois de fechá-lo, mas não até então.

  • Quando você gravar em um arquivo, o sistema operacional decide se a escrever imediatamente as informações para o disco rígido ou unidade flash / cartão SD ou para segurá-lo e reunir mais informações, finalmente, escrever tudo como um único lote. Quando você fechar um arquivo, o sistema operacional coloca todos os seus dados restantes no arquivo. Isto é chamado rubor o arquivo.

Você tem duas maneiras de escrever para um arquivo:

  • acesso seqüencial: No acesso sequencial, você escreve para um arquivo ou ler um arquivo do começo ao fim. Com esta abordagem, quando você abrir o arquivo, você normalmente especificar se você pretende ler ou escrever para o arquivo, mas não ambos ao mesmo tempo.

    Depois de abrir o arquivo, se você está escrevendo para o arquivo, os dados que você escreve é ​​adicionado continuamente ao final do arquivo. Ou se você estiver lendo a partir do arquivo, você ler os dados no início, então você ler os dados que se segue, então você ler os dados que se segue que os dados e assim por diante, até o final.

  • Acesso aleatório: Com acesso aleatório, você pode ler e gravar em qualquer byte em um arquivo, independentemente de qual byte anteriormente ler ou escreveu. Em outras palavras, você pode pular. Você pode ler alguns bytes, em seguida, passar para outra parte do arquivo e escrever alguns bytes, e depois mudar para outro lugar e escrever um pouco mais.

Para trás nos dias da linguagem de programação C, várias funções da biblioteca permitem trabalhar com arquivos. No entanto, eles fede. Eles foram pesados ​​e fez a vida difícil. E assim, quando C ++ surgiu, as pessoas rapidamente criou um conjunto de classes que fez a vida com arquivos muito mais fácil. Essas pessoas usou a metáfora fluxo temos sido delirante.

menu