Lendo um único caractere de um flux

Estou tentando passar do stdio para o iostream, o que está se mostrando muito difícil. Eu tenho o básico de carregar um arquivo e fechá-lo, mas eu realmente não tenho idéia do que é um fluxo ainda, ou como ele funcion

No stdio, tudo é relativamente fácil e direto em comparação com isso. O que eu preciso ser capaz de fazer é

Leia um único caractere de um arquivo de text Chame uma função com base no que esse caractere Repita até ler todos os caracteres do arquiv

O que eu tenho até agora é .. não muito:

int main()
{
    std::ifstream("sometextfile.txt", std::ios::in);
    // this is SUPPOSED to be the while loop for reading.  I got here and realized I have 
    //no idea how to even read a file
    while()
    {
    }
return 0;
}

O que eu preciso saber é como obter um único caractere e como ele é realmente armazenado (é uma string? Um int? Um caractere? Posso decidir por mim mesmo como armazená-lo?)

Uma vez que sei que acho que posso lidar com o resto. Armazenarei o personagem em um contêiner apropriado e, em seguida, usarei uma opção para fazer as coisas com base no que realmente é esse personagem. Seria algo assim.

int main()
{
    std::ifstream textFile("sometextfile.txt", std::ios::in);

    while(..able to read?)
    {
        char/int/string readItem;
        //this is where the fstream would get the character and I assume stick it into readItem?
        switch(readItem)
        {
        case 1:
            //dosomething
              break;
        case ' ':
            //dosomething etc etc
              break;
        case '\n':
        }
    }
return 0;
}

Observe que eu preciso poder verificar se há espaços em branco e novas linhas, espero que seja possível. Também seria útil se, em vez de um contêiner genérico, eu pudesse armazenar números em um int e chars em um char. Eu posso contornar isso, se não fo

brigado a qualquer um que possa me explicar como os fluxos funcionam e o que é possível com ele

questionAnswers(10)

yourAnswerToTheQuestion