Componentes | |
class | Utilitarios::Manipuladores::Ignorador |
Representa manipuladores de entrada que ignoram caracteres. Mais... | |
Funções | |
std::istream& | operator>> (std::istream &entrada, Ignorador const &ignorador) |
Operador de extracção para os manipuladores de ignorar caracteres. Mais... | |
Variáveis | |
Ignorador const | il |
Manipulador que ignora todos os caracteres até ao próximo fim-de-linha ('\n' ). Mais... |
|
Operador de extracção para os manipuladores de ignorar caracteres. É usado com os manipuladores pré-definidos il e ill.
|
|
Manipulador que ignora todos os caracteres até ao próximo fim-de-linha ( O nome é uma abreviatura de "ignora linha". Exemplo de utilização
Se num ficheiro estiverem guardados em linhas consecutivas um inteiro e o nome completo de uma passoa, pode-se tentar ler estes valores como se segue (admite-se que
int numero; entrada >> numero; string nome; getline(entrada, nome); Esta solução não funciona, pois o operador de extracção do inteiro deixa o fim-de-linha no canal, o que leva getline() a ler uma cadeia vazia! A solução passa por ignorar todos os caracteres até ao fim-de-linha:
#include <Utilitarios/manipuladores.H> using namespace Utilitarios; ... int numero; entrada >> numero >> il; string nome; getline(entrada, nome); Neste caso o ficheiro de entrada até pode possuir um comentário depois do inteiro, que será ignorado. Por exemplo, o ficheiro poderia ser:
12345 Número do aluno Xisto Ximenes (Que se teria de fazer para que se pudessem colocar comentários após o nome?) Definido na linha 128 do ficheiro ignoradores.H. |