Hi,
I am trying to read in a file through a command line argument, then extract the words (no punctuation) and put each word into a node on a linked list, but am experiencing a few problems. Any help would be appreciated:
Thanks, mbk.Code:#include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #define LENGTH 30; //Typedef for linked list. typedef struct L { char word[LENGTH] ; struct L *next ; } List; //function to set up the list. List *somelist( char word[], List *tl ) { List *t = (List*) malloc (sizeof(List)); strcpy(t->word, word[LENGTH]) ; t->next = tail; return t; } //function to open and read the file and put data into the list. List *insert( char head[LENGTH], LIST *tl ) { //start clock clock_t start, end; float result; start = clock(); //Open file FILE *fd; fd = fopen("file.txt", "r"); //Insert words into the list while(!EOF) while(ispunct(word)==0 && isspace(word)==0) { char word[LENGTH] = fgetc(fd); word[LENGTH] = tolower(word[LENGTH]); somelist(word, z); } } //end clock end = clock(); result = ((end-start)/CLOCK_PER_SEC); return z ; } //function to find the given word. void *find( char *what[LENGTH], List *tlist ) { int counter=0; while( tlist != NULL ) { if( tlist->x == what ) { counter++; } tlist = tlist->next ; } printf("The number of occurunces of %s = %d", what[LENGTH], counter) ; } //main function. int main( void ) { //Initialise list List *z = somelist(); List *pointer = NULL; pointer = somelist(argv[1]); char YesNo="y"; char c; char array[LENGTH]; int counter; printf("Enter word to be searched"); while(c!='\n') { c=getchar(); c = tolower(c); array[counter] = c; counter++; } find(array[LENGTH], z); }



LinkBack URL
About LinkBacks


