Ir ao conteúdo

Posts recomendados

Postado

Oi gente, então estou fazendo programa para ler os caracteres que tem em um arquivo de texto, trocar alguns caracteres por outros e colocar em um novo arquivo. Qual função devo utilizar? Tentei fputs, mas não deu certo :(

  • Curtir 1
Postado
Em ‎3‎/‎13‎/‎2018 às 21:31, devair1010 disse:

@Bruna DElia    para ler o arquivo use a função fgetc assim :


caracter = fgetc(arquivo);

e para colocar no arquivo use o comando fprintf assim :


fprintf(arquivo,"%c",caractere);

 

Entendi, coloquei isso no programa, mas mesmo assim não funcionou:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    FILE *novo, *velho;
    novo=fopen("ecoli.txt", "r");
    velho=fopen("rna.txt", "w");
    if (novo==NULL || velho==NULL){
        printf("Erro de abertura\n");
        system("pause");
        exit(1);
    }
    
    char letra;
    
    while( (letra = fgetc(velho)) != EOF ) {

    if(letra =='T') {letra='U';}
        fprintf(novo, "%c", letra);}

    fclose(velho);
    fclose(novo);
    return 0;
}

Não consigo encontrar o erro :(

adicionado 1 minuto depois
Em ‎3‎/‎13‎/‎2018 às 21:27, CiroboyBR disse:

Vou dar uma olhada, valeu :)

  • Curtir 1
Postado

@Bruna DElia   você abriu o arquivo velho para gravar e está lendo nele assim ele não consegue ler  e depois você tenta gravar no arquivo novo , mas ele foi aberto para leitura, assim ele também não grava,  então precisa inverter isso,  e seu código modificado ficaria assim :

#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE *novo, *velho;
    novo=fopen("ecoli.txt","w");
    velho=fopen("rna.txt" ,"r");
    if (novo==NULL || velho==NULL){
        printf("Erro de abertura\n");
        system("pause");
        exit(1);
    }
    char letra;
    while( (letra = fgetc(velho)) != EOF )
    {
        if(letra =='T')letra='U';
        fprintf(novo, "%c", letra);
    }
    fclose(velho);
    fclose(novo);
    return 0;
}

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!