leitura de valores hexadecimais de fstream para int

Tenho um arquivo de texto com um valor hexadecimal em cada linha. Algo com

80000000
08000000
0a000000

Agora estou escrevendo um código c ++ para ler isso diretamente. Algo com

fstream f(filename, ios::in);

while(!f.eof)
{
    int x;
    char ch;
    f>>std::hex>>x>>ch;  // The intention of having ch is to read the '\n'
}

Agora, isso não está funcionando conforme o esperado. Enquanto alguns dos números estão sendo preenchidos corretamente, a lógica ch é falha. Alguém pode me dizer o caminho certo para fazê-lo. Basicamente, preciso preencher uma matriz com o equivalente int.

questionAnswers(4)

yourAnswerToTheQuestion