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 arquivO 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