Me parece que estás matando moscas a cañonazos.
A ver, si quieres buscar dentro de un fichero sin entender el formato, usa ifstream abriendo en binario, lees y buscas. No hay más. Y si quieres más rendimiento en Windows, CreateFile, ReadFile con overlays.
(Otra cosa es que te pidan buscar "hola mundo" pudiendo estar en disco en fichero de texto en Ansi, MBCS, Unicode-8, Unicode-16 e incluso Unicode-32 (que no creo que use nadie). En ese caso tienes que verificar en qué formato está guardado el archivo de texto, lo que se hace (por ejemplo el notepad de windows) leyendo parte del fichero en cada uno de esos encodings y comprobando si no hay cosas binarias. lees en Ansi, encuentras ceros o caracteres no alfanuméricos, descartas, lees lo mismo en MBCS, encuentras ceros o caracteres no alfanuméricos, descartas, lees lo mismo en UTF-8... Teniendo en cuenta que por ejemplo en ANSI has de considerar las páginas de códigos y lo que en cp850 es basura, son letras válidas en cp437, etc).