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
...
...
...
...
#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); } }
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 ideia?