As you can see, it completely erased the first group's name and cut off the first letter of the second. I've been at this for days and I think I've stared at it too long for the error in my code to be obvious to me any more.
Note: I understand there are already libraries for this, but I need to practice parsing more human-readable formats. This is for learning ;)
EDIT: Another of my C++ friends helped me solve it; the file doesn't start with a new line first of all, so the first group name is blank ofc, and also (although I do not know why) I need to change the ignore(2) to ignore(1).