Pitteri Postado Setembro 8, 2005 Denunciar Share Postado Setembro 8, 2005 E ae galera beleza...alguém pode me ajudar a armazenar o conteudo de um arquivo txt em um vetor d inteiros?Por exemplo, arquivo.txt tem o seguinte conteudo:0 1 2eu quero armazenar esses numeros na seguinte forma:array[0] - 0array[1] - 1array[2] - 2alguém pode me ajudar?Valeu! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 FibraOptica Postado Setembro 8, 2005 Denunciar Share Postado Setembro 8, 2005 beleza, faça deste jeito:Se o arquivo arquivo.txt tem o seguinte conteúdo:0 1 2Faça: /* Aqui vem as declaracoes e outras coisas */ int x = 0; while( ! feof( USE_O_FILE* ) ) { fscanf(USE_O_FILE*,"%d",vetor[x]); x++; } /* Aqui o programa continua normalmente..*/ Pronto, a função fscanf() já faz todo o trabalho, ah, o USE_O_FILE* é para ser trocado pela variável do tipo FILE* que você declarou em seu programa. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 maricota Postado Outubro 3, 2005 Denunciar Share Postado Outubro 3, 2005 FibraOptica, e se no lugar de 0 1 2, do exemplo anterior, eu tiver strings? Como faço pra passá-las pra alguma váriável? Tenho que compará-las e ordenar alfabeticamente.No meu programa coloquei cada string em uma linha do arquivo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 FibraOptica Postado Outubro 8, 2005 Denunciar Share Postado Outubro 8, 2005 FibraOptica, e se no lugar de 0 1 2, do exemplo anterior, eu tiver strings? Como faço pra passá-las pra alguma váriável? Tenho que compará-las e ordenar alfabeticamente.No meu programa coloquei cada string em uma linha do arquivo.Aí você teria que usar a função fgets(), parecida com o gets() mas usada em streams!Vamos supor que o arquivo string.txt tenha o conteúdo:1 2 34 5 67 8 9Para ler linha por linha, segue o código abaixo:/* Aqui vem as declaracoes e outras coisas */char do_arquivo[3] ; /* o arquivo tem 3 linhas */int x = 0;while( ! feof( USE_O_FILE* ) ){fgets( USE_O_FILE*, 10, do_arquivo[x] ) ;x = x + 1 ;}/* Aqui o programa continua normalmente..*/A função fgets() leu do arquivo USE_O_FILE* a primeira linha e armazenou em do_arquivo[0] , e assim foi até que feof() retornasse verdadeiro!Ainda com dúvidas? Poste-a! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 klaus Postado Outubro 11, 2005 Denunciar Share Postado Outubro 11, 2005 /* Aqui vem as declaracoes e outras coisas */char do_arquivo[3] ; /* o arquivo tem 3 linhas */int x = 0;while( ! feof( USE_O_FILE* ) ){fgets( USE_O_FILE*, 10, do_arquivo[x] ) ;x = x + 1 ;}/* Aqui o programa continua normalmente..*/Isso não vai funcionar primeiramente porque a ordem dos parâmetros da função fgets() está errada. char *fgets( char *str, int num, FILE *stream ); Um outro problema é que você está tentando ler 10 caracteres para dentro de um char. Ao invés de fgets( USE_O_FILE*, 10, do_arquivo[x] ); o certo seria fgets(do_arquivo, sizeof(do_arquivo), ponteiro_para_o_arquivo); Mesmo assim, o programa ainda estaria errado pois um vetor de 3 chars não é suficiente para armazenar as linhas do arquivo em questão.Para concluir, o seu loop vai processar a última linha do arquivo duas vezes. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 FibraOptica Postado Outubro 11, 2005 Denunciar Share Postado Outubro 11, 2005 Isso não vai funcionar primeiramente porque a ordem dos parâmetros da função fgets() está errada.Isso aí fera, eu voltei para concertar mas você já fez o trabalho Mesmo assim, o programa ainda estaria errado pois um vetor de 3 chars não é suficiente para armazenar as linhas do arquivo em questão.O certo é que eu ia colocar um ponteiro para cada linha!do_arquivo[0] = Aponta para Linha 1do_arquivo[1] = Aponta para Linha 2do_arquivo[2] = Aponta para Linha 3Mas já que você corrigiu os erros, tudo beleza! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Pitteri
E ae galera beleza...
alguém pode me ajudar a armazenar o conteudo de um arquivo txt em um vetor d inteiros?
Por exemplo, arquivo.txt tem o seguinte conteudo:
0 1 2
eu quero armazenar esses numeros na seguinte forma:
array[0] - 0
array[1] - 1
array[2] - 2
alguém pode me ajudar?
Valeu!
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.