seguinte, a ideia do programa é pegar um arquivo posicional, organizar esse arquivo por agencias, e dai o resto ja nao entra em questao...
eu decidi pegar as linhas do arquivo posicional e colocar em uma lista, para depois ordena-la...
mas estou tendo um probleminha. Segue o codigo:
FILE* org_arq(FILE *arq)
{
char nome[11], endereco[21], agencia[4], conta[8], saldo[11], dec, linha;
Entrada *x = NULL;
do
{
fgets(nome, 10, arq);
fgets(endereco, 20, arq);
fgets(agencia, 3, arq);
fgets(conta, 7, arq);
fgets(saldo, 10, arq);
dec = getc(arq);
linha = getc(arq);
x = lu_insereinicio(x, nome, endereco, agencia, conta, saldo, dec);
}while(!feof(arq));
}
Entrada *lu_insereinicio(Entrada *plst, char *nome, char *endereco, char *agencia, char *conta, char *saldo, char dec)
{
Entrada *aux;
aux = (Entrada*)malloc(sizeof(Entrada));
aux -> nome[11] = nome[11];
aux -> endereco[21] = endereco[21];
aux -> agencia[4] = agencia[4];
aux -> conta[8] = conta[8];
aux -> saldo[11] = saldo[11];
aux -> dec = dec;
aux -> prox = plst;
return aux;
}
na funcao org_arq, os valores das variaveis está blza, está lendo tranquilo, mas qndo eu passo pra inserir na lista, é passado o endereco das variaveis (eu acho), e nao o valor.
no debug:
qndo está em org_arq:
nome = "DAVI \o\"
qndo está em inserelista
aux -> nome = "\rðº\rðº\rð"
to perdido aqui tentando achar o q é =x
