If you already know the position in the file that you want to read from (or you want to know what the current position is), you can use istream::tellg() and istream::seekg() to respectively get and set the position within the file that you want to read next.
http://www.cplusplus.com/reference/istream/istream/tellg/
http://www.cplusplus.com/reference/istream/istream/seekg/
However, in this case what you want is to
determine the parts of the file that are of interest. That happens through parsing the file's content and determining what is the relevant part by means of comparison with the surrounding entries.
E.g.
For the sample file you provide: if you keep iterating through the file's content, reading characters and storing them in a temporary string variable (and emptying that variable whenever you meet a space), you will be able to parse seperate "words", one at a time. Whenever a space is found and your string is not empty already, you can suppose that a complete word is formed, and you can compare that string variable with a list of recognizable keywords that your file-parser supports (E.g. "Grocery").
The above approach can be made to conditionally store more than a single word (if triggered by keywords that indicate multiple-word sequences, like "Grocery" can potentially lead to "Grocery Store", and Grocery Store" can lead to "Grocery Store Items"). The multi-word sequences read from the file can be tested against recognizable sequences, and thus your program can determine that it reached a header called "Grocery Store Items" (which it recognizes).
At this point, it can call a function that reads and handles the part of the file that represents Grocery Store Items. In which case a newline character represents that a new item is to be described, and then the first word is the item name, the second is the purchase value, the last is the sell value. Knowing the format, you can now read in and store only the parts of the file that interest you (e.g. parse, then store only the name portions, or the purchase value portions, etc).
The above is fairly rough, I'm just describing the general idea behind how to parse a file to get the data you want from it.
Also, -- structuring your file syntactically in a way that is concise, descriptive, yet short can greatly ease the parsing process. E.g. my above discussion took your example file without suggesting any improvements, and started trying to determine multi-word-sequences conditionally. But if your file instead used a special character or a small set of characters to define headers, or used single-word keywords (no sequences) etc, the parsing could be simplified to looking only for that character, or set of characters.
As an example approach of structuring data in text files, you may find XML interesting.
I hope this hasty post is somewhat helpful to you,
Ogoyant