Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal tudo bem ? estou com uma dúvida aqui.Bom, tenho que ler um arquivo txt que possui 100.000 strings separadas por tabulação e armazenar em um vetor, já fiz o código e está tudo ok mas não consigo ler acima de 20.000, parece que é um erro relativo ao tipo de dados.Para armazenar as strings tenho criar um vetor de caracteres onde a primeira posição corresponde à quantidadede e o segundo comprimento de cada string , mas o programa não lê acima de 20.000, aliás consegui fazer ler até 30.000 alterando o parâmtro comprimento de 100 para 40, mas não entendo porque isso deu certo.
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *arquivo;
long max = 20000; //quantidades de registros a serem lidos
char vet [max][100]; // Indice 1 : quantidade de registro , indice dois : comprimento das strings
int i,count;
//===============Código abrir arquivo txt e armazenar registros no vetor===================================
arquivo = fopen("dados20000.txt","r"); //abrindo para leitura arq.txt
if(arquivo == NULL)
{
printf("erro ao ler arquivo!");
}
else
{
count = 0;
while(fgets(vet[count], sizeof(vet), arquivo)) //a vetorização ocorre nessa linha
{
count++;
}
}
fclose(arquivo); for (i=0;i<=count;i++)
{
printf("Vetor lido %s",vet[i]);
}
printf("Arquivo lido com Sucesso !!!!\n");
return 0;
}
Estou deixando o link para baixar os arquivos txt com 20.000 e 100.000 registros .Desde já muito obrigado pessoal.
Carregando comentários...