Like so
Code:
#include <stdio.h>
#include <stdlib.h>
void traverse(void);
/* Structure for printing the id.txt file */
struct id_card {
int ID;
struct id_card *nextptr;
};
typedef struct id_card node;
void traverse(void) {
FILE *fp;
node *currptr = NULL, *headptr = NULL, *prevptr = NULL;
int NUM, i;
fp = fopen( "id.txt","r" );
if ( fp == NULL ) {
printf( "Unabale to open id.txt file \n" );
exit( 1 );
}
for(i = 1; i<=8; i++) {
NUM = getc( fp );
NUM = NUM-48;
currptr = malloc( sizeof(node) );
currptr->ID = NUM;
currptr->nextptr = NULL;
printf( "%d",NUM );
if ( headptr == NULL ) {
/* List is empty - start a new list */
headptr = currptr;
prevptr = currptr;
} else {
/* append to existing list */
prevptr->nextptr = currptr;
prevptr = currptr;
}
}
currptr = headptr;
while ( currptr != NULL ) {
printf( "\n" );
printf( "%d", currptr->ID );
currptr=currptr->nextptr;
}
fclose( fp );
}
int main( ) {
traverse();
return 0;
}