Ja, använd string, det finns nästan aldrig någon anledning att använda en char-array i C++ annat än för att lära sig hur string fungerar internt. För att söka i en string använder du som sagt find.
substr används för att plocka ut en del av en sträng (t.ex. string("hello world").substr(6, 5)
ger "world"
), vilket du inte verkar ha något behov av i den här uppgiften.