EOF em C ++

EOF em C ++

No manuseio de arquivos, não sabemos quantos dados são armazenados no arquivo. Como a extensão dos dados no arquivamento é principalmente desconhecida, como podemos ler o arquivo nesse caso? Quando não sabemos quantos dados o arquivo contém, usamos o método eof () para ler um arquivo. O método eof () é "final do arquivo", que lê o arquivo até que o controle chegue ao final do arquivo. Esta metodologia é muito adequada para apresentar os dados dos arquivos. As coisas que sabemos sobre os arquivos são o tipo de dados de arquivo e o estilo de formatação dos dados armazenados. A função eof () nos permite determinar quando o arquivo atingiu seu fim.

EOF () é um método constante do tipo Bool que retorna verdadeiro quando o final do arquivo é alcançado e retorna falsa quando ainda há dados a serem lidos. É um método de classe de fluxo de entrada e saída (iOS) que lê os dados de um arquivo até que o final seja encontrado.

Sintaxe:

bool eof () const;


Este método é um método booleano do tipo constante, o que significa que não pode ser alterado. Ou retorna verdadeiro ou falso. Esta função não tem parâmetros.

Tipo de retorno:

Quando retorna "verdadeiro", significa que o fim é alcançado. Quando retorna "falso", significa que o fim ainda não foi encontrado.

Use eof () para ler um arquivo que já foi criado

O programa lê os dados de um arquivo de texto. Quando chega ao fim, exibe uma mensagem. Para fazer tudo isso, chamamos a função EOF ().

Crie um arquivo:

Primeiro de tudo, crie um arquivo de texto, “Exemplo.TXT". Adicione algum conteúdo e salve o arquivo. Este arquivo deve ser armazenado em uma pasta semelhante à do código C ++.


Código:

#incluir
#incluir
usando namespace std;
int main ()

ifstream IST ("Exemplo.TXT");
char ch;
enquanto (ist.Get (CH))
cout << ch;
if (iSt.eof ())
cout << "[EoF reached]\n";
outro
cout << "[Error Reading]\n";
ist.fechar();
retornar 0;


Agora, vamos começar a codificar. Importe a biblioteca para usar as funções de entrada e saída desta biblioteca. Em seguida, importe como fluxo de arquivos. Nós importamos esta biblioteca para que possamos acessar seus métodos. Chame o método main (). Em seguida, defina "ifstream", que é o fluxo de entrada. Crie seu objeto e dê a localização de um arquivo de texto que criamos anteriormente ou apenas escrevemos o nome desse arquivo. Quando o arquivo de código e o arquivo de texto estão localizados na mesma pasta, apenas mencionamos o nome do arquivo com sua extensão. Defina uma variável do tipo de caractere, “ch”. Esta variável recebe os dados da string. Use o loop "while" para ler constantemente os dados do arquivo até que o final seja alcançado. Dentro do loop "while", use o comando "cout" para imprimir os dados. Depois de exibir todos os dados do arquivo, defina a condição "se". Se o fluxo de entrada "IST" chegar ao final do arquivo, exiba a mensagem "EOF alcançada". Caso contrário, execute a parte "else". Imprima uma mensagem de erro "Ler Erro" na parte "else". Em seguida, feche o arquivo chamando a função Close ().

Saída:

Olá World 360 [EOF alcançado]

Obtenha os dados do arquivo

Vamos explicar como podemos obter os dados de um arquivo e verificar o final de um arquivo usando eof ().

Crie um arquivo:

Agora, crie um arquivo de texto chamado “Exemplo2.TXT". Certifique -se de salvar os arquivos de texto e C ++ na mesma pasta. Não causará problemas ao acessar o arquivo. Aqui, escrevemos o nome de algumas cidades no arquivo. Salve e feche o arquivo.


Código:

#incluir
#incluir
usando namespace std;
int main ()

Char City_Names [15];
arquivo ifstream ("Exemplo2.TXT");
se(!arquivo)

cout<<"Error while opening";
saída (1);

cout<<"List of Cities in file : \n";
enquanto(!arquivo.eof ())

arquivo >> city_names;
cout<
arquivo.fechar();
retornar 0;


No código C ++, importe duas bibliotecas - e . Depois de usar o espaço para nome padrão, Invoque o método Main () e declare a matriz do tipo “City_Names”. Em seguida, defina o tamanho da matriz que recebe a variedade de caracteres do arquivo de texto. Crie um objeto "arquivo" do fluxo de arquivo de entrada "ifstream" e dê o nome do arquivo de texto que é "Exemplo2.TXT". Agora, use a declaração "se" para verificar se um arquivo definido está abrindo ou não. Imprima uma mensagem de erro se o arquivo não abrir. Fora da declaração "se", empregue o comando "cout" para mostrar um texto "Lista de cidades no arquivo". Além disso, use um loop "while" para iterar no arquivo para obter os dados. Loop até que o arquivo não seja alcançado no fim. Para verificar o final do arquivo, ligue para o método eof (). Obtenha os dados do arquivo dentro do loop "while" e armazene -os na matriz de caracteres "City_Names". Em seguida, exiba essa matriz.

O arquivo recebe todo o conteúdo que armazenamos no “Exemplo2.Arquivo de texto txt ”e exibe os dados ao mesmo tempo. Feche o arquivo fora do loop. O fechamento de um arquivo é importante para impedir o arquivo de qualquer dano.

Saída:

Lista de cidades no arquivo:
Lahore
Carachi
Multan

Código para adquirir os dados do usuário

Neste exemplo, adquirimos os dados do usuário e os inserimos em um arquivo de texto. Em seguida, exibimos os dados desse arquivo no console. Para ler os dados de um arquivo, também usamos eof () que nos informa quando o final do arquivo é alcançado.

Crie um arquivo em branco:

Primeiro, um arquivo vazio, “Exemplo3.txt ”, é criado e salvo em uma pasta. Neste arquivo vazio, armazenamos os dados que o usuário nos dá. Então, esses dados são lidos.


Código:

#incluir
#incluir
usando namespace std;
int main ()

nomes de char [15];
Ofstream Out ("Exemplo3.TXT");
ifstream em ("exemplo3.TXT");
para (int i = 0; i<3;i++)

cout<<"Enter Name : ";
recebe (nomes);
cout<
fora.fechar();
cout<<"List of Names is : ";
cout<enquanto(!em.eof ())

em.getLine (nomes, 100);
cout<
em.fechar();
retornar 0;


A parte mais essencial do código é incluir as bibliotecas. Na função Main (), defina uma matriz de caracteres do tamanho 15. Crie um objeto "Out" do fluxo de arquivos de saída "OFSTREAM". Ele fornece o caminho/nome do arquivo de texto vazio. Em seguida, crie um objeto "in" do fluxo de arquivos de entrada "ifstream". Use o loop "for" para obter a string do usuário. Aqui, imprima a mensagem “Enter Name:”. Chame o método get (); Ele recebe a sequência de nomes do usuário, e o objeto "Out" OfSream abre o arquivo para escrever. Este objeto de Stream escreve os nomes no arquivo de texto. Fora do loop "for", feche o objeto "fora" do tipo porque acabamos de escrever. Mostre a “lista de nomes é:” texto na tela. Além disso, use o loop "while" e defina sua condição. Leia os dados do arquivo até que o término de um arquivo não seja atingido. Empregue a função getLine () para obter as linhas do arquivo de texto. Exibir essas linhas no console. Fora do loop "while", invocar o método Close () do fluxo de arquivos de entrada "IN".

Saída:

Digite o nome: Halibi
Digite o nome: John
Digite o nome: Nike
A lista de nomes é:
Halibi
John
Nike


Depois de armazenar os dados:


Depois de obter os nomes do usuário e executar o código C ++, abrimos o arquivo vazio que criamos. Aqui, veríamos todos os nomes. Após a execução do código, esses nomes são armazenados no “exemplo3.Arquivo de texto txt ”.

Conclusão

Discutimos o método eof () neste artigo. EOF é o fim de um arquivo usado ao ler um arquivo. Podemos determinar quando o arquivo terminou chamando o método eof (). O artigo explica o tópico no EOF em C ++ com a ajuda de diferentes códigos nos quais criamos o arquivo de texto, inserimos os dados no arquivo e depois lemos esses dados do arquivo. O método eof () é um método bool, seja verdadeiro ou falso.