It depends on how your game logic works. If progress is tracked via what "rooms" the player has completed then you simply need to write a text file describing the status of completion for each room in a particular save game. Or, if it works more linearly, just store a value representing the current room the player is on.
If you base the progression on item collection write a file describing the inventory of the player.
For each method (or if you combine the two) you will need to also store the current location of the player.
You may need to redesign some of the logic for your text adventure in order to do this, I find it easy to write separate functions for each area with IF statements checking how the player interacts with the area, then when you load everything in you can just call the function relating to the current location of the player.
As far as loading the saved game goes you will want arrays for completed rooms or collected items and use the values stored in them for figuring out how the player is interacting with the adventure.
Crazy Donut Productions
Current Project: A Redneck game