This program is supposed to read in a text file and do the following:
- Read in the file
- Look for the line with the number of circles
- Skip the number of line there are of number of circles
- Look for line with number of friends
- Allocate an array with just enough space for the number of friends
- Parse and store the friends
Issues:
- I am not sure on how to parse the information into the friend array using the friend struct in defaultPrint.c
- Please look over my code if possible to mention any bugs or syntax I may have missed
defaultPrint.cCode:#include <stdio.h> #include <stdlib.h> #include <string.h> #include "printFriends.h" void main(int argc, char **argv) { int i,x,size,wordnum; char max[256]; char *fname,*word,*friends,*line,*prev,*curr; FILE *file; friend *friendArray; //Check for command line arguments if (argc <= 1) { printf("Insufficient number of inputs\n"); exit(1); } //Open the file and check if file exists fname = argv[1]; file = fopen(fname,"r"); if (file == NULL) { printf("Cannot open input file %s\n",fname); exit(2); } //Read in file line by line and search word while(!feof(file)) { line = fgets(max, sizeof(max), file); prev = strtok(max," "); while((curr = strtok(NULL," ")) != NULL) { if (strstr(curr, "circle") != NULL) { printf("%s %s",prev,curr); //skip lines amounting to number of circles for(i=1;i<atoi(prev);i++) printf("\n"); } if (strstr(curr, "friend") != NULL) { printf("%s %s",prev,curr); //allocate array with the number of friends friendArray = malloc(sizeof(friend)*atoi(prev)+1); for(i=0;i<atoi(prev);i++) { //for loop maybe to store info into the friend //struct/array??? } } } } //call defaultPrint somehow here fclose(file); }
printFriends.hCode:#include <stdio.h> #include <stdlib.h> #include "printFriends.h" void defaultPrint(friend *array, int num_friends, FILE *outfile) { int i; printf("Default print function\n"); for(i=0;i<num_friends;i++) fprintf(stdout,"%d: %s, %s, %s\n",i, array[i].lastname, array[i].firstname, array[i].birthdate); }
Code:#ifndef PRINTFRIENDS_H #define PRINTFRIENDS_H typedef struct _friend{ char *lastname; char *firstname; char birthdate[9]; } friend; void defaultPrint(friend *array, int num_friends, FILE *outfile); #endif



LinkBack URL
About LinkBacks


