Faça um programa que leia o nome de diversas pessoas em um arquivo e apresente na tela. O arquivo deve ter o seguinte formato:
Nome do arquivo: “Nomes.txt”
João
Maria
Roberto
Bruno
Carla
João |
Maria |
Roberto |
Bruno |
Carla |
Passo 1
O enunciado pede um programa que abra um arquivo chamado
"Nomes.txt"
, leia todos os nomes que estão lá (um por linha) e apresente esses nomes na tela. O conteúdo envolve manipulação de arquivos em linguagem C, usando as funções fopen
, fgets
, printf
e fclose
.Passo 2
A estratégia é:
- Tentar abrir o arquivo em modo leitura
- Se a abertura falhar, exibir uma mensagem de erro e sair
- Se abrir com sucesso, entrar em um laço que lê cada linha (nome) com
fgets
até o fim do arquivo - Para cada linha lida, imprimir na tela com
printf
- Ao terminar, fechar o arquivo com
fclose
Passo 3
Segue o código em C que implementa essa lógica:
#include <stdio.h>
#include <stdlib.h>
int main(void) {
FILE *arquivo = fopen("Nomes.txt", "r");
if (arquivo == NULL) {
perror("Erro ao abrir o arquivo");
return EXIT_FAILURE;
}
char linha[100];
while (fgets(linha, sizeof(linha), arquivo) != NULL) {
printf("%s", linha);
}
fclose(arquivo);
return EXIT_SUCCESS;
}
Resposta
#include <stdio.h>
#include <stdlib.h>
int main(void) {
FILE *arquivo = fopen("Nomes.txt", "r");
if (arquivo == NULL) {
perror("Erro ao abrir o arquivo");
return EXIT_FAILURE;
}
char linha[100];
while (fgets(linha, sizeof(linha), arquivo) != NULL) {
printf("%s", linha);
}
fclose(arquivo);
return EXIT_SUCCESS;
}