Ao manipularmos arquivos, alguns cuidados ou estilos devem ser tomados para garantir ao programa um maior grau de eficiência e segurança. Dentre as afirmativas a seguir, identifique V para verdadeiro e F para falso.
( ) arquivos binários tendem a demandar menos espaço em relação aos arquivos texto devido ao fato de que os espaços alocados fisicamente são proporcionados pelos tamanhos dos tipos de dados utilizados;
( ) em toda operação envolvendo arquivos, é sempre conveniente testar se a operação, por exemplo, abertura, escrita e leitura, foram bem sucedidas;
( ) é mais conveniente abrir um arquivo sempre para leitura e escrita para evitar testes de acesso pelo sistema operacional, tornando, portanto, o programa mais eficiente;
( ) é conveniente abrir o arquivo com o modo justo para a demanda, ou seja, caso for realizada apenas leitura de informações, abrir o arquivo somente para leitura. Dessa forma, o programa torna-se mais seguro em relação ao acesso às informações.
Assinale a alternativa que tenha a sequência correta.
V, F, V, V.
F, F, V, F.
V, V, F, V.
V, V, F, F.
V, F, V, F.
Soluções para a tarefa
Resposta:
V, V, F, V.
Explicação:
Realmente, uma das vantagens dos arquivos binários sobre os arquivos de texto é em relação ao espaço ocupado. Enquanto que, por exemplo, o valor inteiro 345789 ocupa seis bytes nos arquivos textuais, nos arquivos binários são utilizados apenas quatro bytes. Como um arquivo pode apresentar problemas, por exemplo, nos próprios dispositivos de I/O (Input/Output – Entrada/Saída), é conveniente testar se a operação foi bem-sucedida. Por fim, é também conveniente abrir o arquivo com o modo adequado à operação para tornar o programa mais seguro em relação ao acesso e manutenção das informações. Uma informação sobre eficiência que merece destaque é que deve-se evitar o uso das funções “ fprintf()” e “ fscanf()” devido ao fato de que elas realizam formatações dos valores manipulados aumentando-se, portanto, o tempo de processamento. Para maior eficiência, deve-se utilizar as funções “ fwrite()” e “ fread()”.