pmcosta
Membro
Estou a tentar implementar uma função que me leia dígitos de um ficheiro e os guarde numa estrutura:
//Declaração da estrutura
struct item {
int value;
struct item *next;
};
typedef struct item element;
estou a usar:
void read_list(element **list_head, char* file_name){
FILE *fp;
element *curr;
char c;
/* abre novamente para a leitura */
fp = fopen(file_name,"rb");
while (!feof(fp))
{
fscanf(fp,"%c",&c);
curr = (element *)malloc(sizeof(element));
curr->value = c;
printf("valor designado (curr->value) %c\n",curr->value);
curr->next = *list_head;
*list_head = curr;
}
fclose(fp);
}
O problema é que a estruturas acaba por me guardar, não dos inteiros mas mas sim a sua correspopndencia em decimal (ie 0 fica 48,1 fica 49, etc).
Desde já agradeço qualquer ajuda.
//Declaração da estrutura
struct item {
int value;
struct item *next;
};
typedef struct item element;
estou a usar:
void read_list(element **list_head, char* file_name){
FILE *fp;
element *curr;
char c;
/* abre novamente para a leitura */
fp = fopen(file_name,"rb");
while (!feof(fp))
{
fscanf(fp,"%c",&c);
curr = (element *)malloc(sizeof(element));
curr->value = c;
printf("valor designado (curr->value) %c\n",curr->value);
curr->next = *list_head;
*list_head = curr;
}
fclose(fp);
}
O problema é que a estruturas acaba por me guardar, não dos inteiros mas mas sim a sua correspopndencia em decimal (ie 0 fica 48,1 fica 49, etc).
Desde já agradeço qualquer ajuda.