Ir ao conteúdo
  • Cadastre-se
Bruna DElia

C Como ler arquivo de texto em c

Recommended Posts

Boa tarde gente, estou fazendo este programa em c para ler um genoma da febre amarela e contar quantos nucleotídeos tem, mas como são muitos caracteres, pensei em colocar para ler o arquivo com o genoma, , por enquanto está assim:

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

int main()
{
    char genomavirus[100];
    int i,a=0,c=0,g=0,t=0;

    printf("Insira o DNA:\t");
    fgets(genomavirus, 100, stdin);

    for (i=0; i<strlen(genomavirus); i++)
   {

      if(genomavirus=='A'){
      a++;
      }
      if(genomavirus=='C'){
      c++;
      }
      if(genomavirus=='G'){
      g++;
      }
      if(genomavirus=='T'){
      t++;
      }

   }

    printf("A: %d\n", a);
    printf("C: %d\n", c);
    printf("G: %d\n", g);
    printf("T: %d\n", t);
    return 0;
} 

Alguém pode me ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existe muitas formas de se fazer a leitura de um arquivo txt. Não sei muito do tema mas se não me engano o tal arquivo é uma sequencia de caracteres tipo "aaacgtgaaaggg...". Me corrija se estou no errado.
O fato é que você poderia ler letra por letra e assim prescindir do vetor.
seria fazer algo assim:
 

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

int main() {

    FILE *arquivo;
    arquivo = fopen("teste.txt", "r");
    if( arquivo == NULL ) {
        perror("Erro: ");
        getchar();
        exit(1);
    }
    char letra;
    int a=0, c=0, g=0, t=0;

    while( (letra = fgetc(arquivo)) != EOF ) {
        //printf("%c", letra);

        if(letra=='A') { a++; }
        if(letra=='C') { c++; }
        if(letra=='G') { g++; }
        if(letra=='T') { t++; }
    }

    printf("A: %d\n", a);
    printf("C: %d\n", c);
    printf("G: %d\n", g);
    printf("T: %d\n", t);

    fclose(arquivo);

    return 0;
}

 

adicionado 4 minutos depois

resumindo... no seu código faltou abrir o tal arquivo para poder trata-lo, e logo, fechar ele quando terminar. Se quiser continuar com seu programa, pode abrir o arquivo tal como no meu, para isso mude no nome de "teste.txt" para o nome do seu e tudo pronto.
Se quiser terminar seu programa tenha claro que o tamanho do arquivo não deve superar o do vetor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×