¿Obtener el nombre del archivo sin extensión?

Soy nuevo en el mundo de C ++, me quedé con un problema muy trivial, es decir, obtener el nombre del archivo sin extensión.

Yo tengoTCHAR variable que contienesample.txt, y necesita extraer solosample, SolíaPathFindFileName función simplemente devuelve el mismo valor que pasé.

¡Intenté buscar la solución en Google pero aún no tuve suerte?!

EDIT: siempre obtengo una extensión de archivo de tres letras, he agregado el siguiente código, pero al final obtengo algo comoMontage (2)««þîþ ¿Cómo evito los caracteres basura al final?

TCHAR* FileHandler::GetFileNameWithoutExtension(TCHAR* fileName)
{
    int fileLength = _tcslen(fileName) - 4;
    TCHAR* value1 = new TCHAR;
    _tcsncpy(value1, fileName, fileLength);
    return value1;
}

Respuestas a la pregunta(5)

Su respuesta a la pregunta