zuerst: noch nie c++ gemacht, kenn nur bissl c und java...
wenn man ein wenig doku zu gets_s ließt, steht da sowas wie:
ließt eine zeile ein und speichert diese in einem char* mit dem newline '\n'.

ok. da sind noch einige fehler:
was ist wenn der user mehr als 32 zeichen eingibt?

du solltest nach jedem gets_s den erhaltenen string nach dem \n durchsuchen, falls nicht vorhanden solange gets_s machen, bis das \n kommt...

und du könntest einfach bevor du die "richtige" eingabe erwartest (wenn der thread beendet wurde) löscht du einfach vorher den eingabebuffer, also gets_s bis \n gefunden wird und dann erst kommt die erwartete eingabe.

soweit erstmal, ist schon spät, hoffe man versteht es ein wenig