Estou com um problema que pensei ser simples. Ler dados num arquivo txt, os dados sempre terão tamanho fixo (ex. codigo tem 8 caracteres, cpf 14, nome 47…) e salvá-los numa struct.
1234 76543FULANO DE TAL ENDERECORUATAL BAIRROCENTRO CIDADEBH MG
…
…
…
…
[code]
#include <stdio.h>
struct dados {
int codigo[8];
char cpf[14];
char nome[47];
char endereco[50];
char bairro[20];
char municipio[20];
char uf[2];
};
typedef struct dados info;
main(){
FILE *arq;
char Linha[164];
char Linha2[6][164];
char *result;
info registro[6];
int i,j;
arq = fopen("FORN.txt", "rb");
if (arq == NULL){
printf("Problemas na abertura do arquivo\n");
return;
}
i=0;
while (!feof(arq)){
fgets(registro[i].codigo, 9, arq);
fgets(registro[i].cpf, 16, arq);
fgets(registro[i].nome, 49, arq);
fgets(registro[i].endereco, 51, arq);
fgets(registro[i].bairro, 21, arq);
fgets(registro[i].municipio, 21, arq);
fgets(registro[i].codigo, 3, arq);
i++
}
for(i=0;i<6;i++){
printf("\n%d\n", registro[0].codigo);
printf("%s\n", registro[0].cpf);
printf("%s\n", registro[0].nome);
printf("%s\n", registro[0].endereco);
printf("%s\n", registro[0].bairro);
printf("%s\n", registro[0].municipio);
printf("------%s\n", registro[0].uf);
fclose(arq);
}
}[/code]
Já tentei usando GETC, FGETS, FSCANF, FREAD, até consigo ler mas o problema é quando quero pegar a string que recebeu os valores e jogar na struct. Alguma idéia?