Be sure you have read the assigned readings for classes through 03/26.
Do the following programming problems. You will end up with at least one code file per problem. Submit your program source (and any other needed files) by sending mail to bmassing@cs.trinity.edu, with each file as an attachment. Please use a subject line that mentions the course number and the assignment (e.g., ``csci 1120 homework 5''). You can develop your programs on any system that provides the needed functionality, but I will test them on one of the department's Linux machines, so you should probably make sure they work in that environment before turning them in.
To do this, I think you will need to read the whole file into memory. There are various ways to do this, but the method I have in mind (for learning purposes) involves reading the whole file into memory and then building an array of pointers to individual lines. Here is a function you can use o determine how much memory to allocate for the file:
/* returns size of file *f in bytes, or -1 on error */ long filesize(FILE * file) { fseek(file, 0L, SEEK_END); long sz = ftell(file); rewind(file); return sz; }
(Notice that its parameter is a FILE*, so you will want to pass it the result of a (successful) fopen. It leaves the file in a state in which you can start reading from it.)
(The above description is deliberately not very detailed. More detailed hints about how to proceed available on request, but I want you to think about the problem yourself first.)
Hints: