Well heres my idea and how I've implemented it now:
I first read the highscores file (using fread()), then decrypt it (using a custom algorithm). Then the checksum is calculated (without the last 4 bytes of the file to not include the checksum itself in the checksum) and then the checksum calculated is verified with the one specified in the file.
Then I use sscanf() to put the data into my data structures with each score and each person's name.
About your C++ way, I'd like to have a small code example of a class explaining your explanation (get it?).
I'm really interested in learning more to do this in a more structured way than I'm doing now.
You see, I was programming in assembly before and jumped onto C and C++ about a year ago, but even in C and C++ I'm sometimes coding like it's assembly, thinking too much low-level.