Buscar

Em arquivos textuais, quando desejamos substituir uma informação com o mesmo tamanho da nova informação, podemos realizar sobrescrita sem a necess...

Em arquivos textuais, quando desejamos substituir uma informação com o mesmo tamanho da nova informação, podemos realizar

sobrescrita sem a necessidade de criação de arquivo temporário para receber a nova versão do conteúdo. Para essa questão, analise o
código a seguir, que realiza a troca do caractere “i” pelo caractere “y” na primeira linha do arquivo. Em sua análise preencha as lacunas.

#include

#include

int main()

{

FILE *arq;

char linha[40];

long pos;

int i;

arq=fopen("atividade.txt","___");

if(arq==NULL)

{

printf("Erro de abertura do arquivo.\n");

return 0;

}

pos=_____; //armazenar a posicao corrente do ponteiro de arquivo.

fgets(linha,40,arq);

for(i=0;i
if(linha[i]=='i')

linha[i]='y';

_____; //reposicionar no ponto anterior aa leitura

_____; //gravacao da linha.

fclose(arq);

return 0;

}

Assinale a alternativa que você julgue ser a correta.


a. . r+ ; ftell(arq) ; fseek(arq,pos,SEEK_SET); fputc(linha,arq) .
b. . r+ ; ftell(arq) ; fseek(arq,pos,SEEK_SET); fputs(linha,arq) .
c. . w+ ; ftell(arq) ; fseek(arq,pos,SEEK_SET); fputs(linha,arq) .
d. . r+ ; ftell(arq) ; fseek(arq,pos,SEEK_CUR); fputs(linha,arq) .
e. . r+ ; fseek(arq) ; ftell(arq,pos,SEEK_SET); fputs(linha,arq) .

Essa pergunta também está no material:

Atividade 4 (A4) TÉCNICAS DE PROGRAMAÇÃO
9 pág.

Técnicas de Programação Centro Universitário das Faculdades Metropolitanas UnidasCentro Universitário das Faculdades Metropolitanas Unidas

💡 1 Resposta

User badge image

Ed Verified user icon

A alternativa correta é a letra B. Explicação: - A opção "r+" é utilizada para abrir o arquivo em modo leitura e escrita. - A função "ftell(arq)" retorna a posição atual do ponteiro de arquivo. - A função "fseek(arq, pos, SEEK_SET)" reposiciona o ponteiro de arquivo para a posição anterior à leitura. - A função "fputs(linha, arq)" realiza a gravação da linha no arquivo. Portanto, a sequência correta de preenchimento das lacunas é: "r+ ; ftell(arq) ; fseek(arq, pos, SEEK_SET); fputs(linha, arq)".

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais