Computação Múltipla Escolha

Considere um ponteiro de arquivo FILE *arq aberto no modo "rb". Como você lê um registro completo da struct Aluno para a variável local Aluno a?

Considere um ponteiro de arquivo FILE *arq aberto no modo "rb". Como você lê um registro completo da struct Aluno para a variável local Aluno a?

  1. fread(arq, sizeof(Aluno));
  2. fgets(&a, sizeof(Aluno), arq);
  3. fread(a, sizeof(Aluno), 1, arq);
  4. fscanf(arq, "%struct", &a);
  5. fread(&a, sizeof(Aluno), 1, arq);

Resolução completa

Explicação passo a passo

E
Alternativa E

Alternativa E - fread(&a, sizeof(Aluno), 1, arq);

Análise da Questão

Para resolver esta questão, é necessário compreender o funcionamento da função fread() na linguagem C, que serve para leitura de dados binários de um arquivo.

A assinatura correta da função é:
\text{size\_t fread(void *ptr, size\_t size, size\_t nmemb, FILE *stream);}

Os parâmetros devem ser passados nesta ordem específica:

  1. ptr: Ponteiro para o bloco de memória onde os dados serão armazenados. Como a é uma variável local, precisamos passar seu endereço (&a).
  2. size: Tamanho de cada elemento em bytes. Para ler a estrutura inteira, usamos sizeof(Aluno).
  3. nmemb: Quantidade de elementos a serem lidos. Como queremos ler apenas um registro completo, o valor é 1.
  4. stream: O ponteiro do arquivo aberto. Neste caso, é arq.

Portanto, a chamada correta deve ser:
fread(&a, sizeof(Aluno), 1, arq);

Comparativo das Alternativas

AlternativaAvaliaçãoMotivo
AIncorretaA ordem dos argumentos está errada e falta o número de elementos.
BIncorretafgets lê texto linha por linha, não serve para estruturas binárias.
CIncorretaO primeiro argumento deve ser um ponteiro (&a), não o valor da variável.
DIncorretafscanf é para entrada formatada (texto) e %struct não é um formato válido.
ECorretaSegue exatamente a sintaxe exigida pela função fread.

Alternativa E.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Computação

Ver mais Computação resolvidas

Tem outra questão de Computação?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.