Take a look at the working on assignments page linked to from the assignments page as you are working on this assignment; it outlines everything you need to know about working through a CS107 assignment, from getting the starter code to testing to submitting.
Note: To remind you of the collaboration policy as it applies to the assignments: you are to do your own independent thinking, design, coding, and debugging.
Unlike the vast majority of programming languages, C has no string type instead it has an array of characters and ends when a 0 character is reached.
You can use “” to define a string which is an array and that ends with a 0 character, but to do any operations on a string you need to use one of the predefined library functions.
This information is essential for the course staff to effectively help you with debugging.
In this assignment, you will write code that interacts with the Unix filesystem and something called shell environment variables.
For this reason, if you have debugging questions during office hours, you should make sure to gather information and explore the issue on your own first, and fill out the Queue Status questions with this information.
For instance, if your program is failing in certain cases, find a small replicable test case where the program fails; then, use GDB/Valgrind to narrow down to what function/code block/etc.
C uses templates and operator overloading to provide a string class that acts much more like a built in string type.
If you need help using strings in C we can program the assignment using the library methods or providing alternatives where no library function exists.