-
help please !
I am trying to read a file using pointers and this is all i get !
54123132132
21
2152
22
2
2
5212
2
#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;
}
-
Hi,
Tell me what is your expectation and how is your file contents look like.
Better use fscanf()/fread()
for file reading instead of getc().
by
A.Sebasti..
Popular pages
Recent additions