Ok so I have the below code and I am just pulling various things from a file and inputing them in an array of structs, it \"seemingly\" works initially, BUT when I go to pri
This is a simple misunderstanding of pointers and char arrays (strings). Here are a couple pages that explains them pretty well:
In your case, you are setting your struct pointer values equal to the returned pointer from strtok. A lot of those string functions work by putting the result at a certain memory address and returning the pointer to it. The pointer returned is always the same, so all your struct values are going to point to the last result of the strtok call.
This is why you need strdup (String duplicate). Basically it takes the value at the address given and copies the contents into a new place in memory and returns the value.