Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Hasło nie zostało zweryfikowane
Niniejsze hasło zostało opracowane, jednak nie zostało ono zweryfikowane przez administrację serwisu. Jeżeli znalazłeś błędy merytoryczne w niniejszym dokumencie, prosimy o ich zgłoszenie na forum w dziale Znalezione błędy.
Opracował: jankowalski25
Język C++

basic_istream::ignore

[metoda] Pomija znaki w strumieniu wejściowym.

Składnia

C/C++
#include <istream>

namespace std
{
    template < class CharT, class Traits = std::char_traits < CharT > >
    class basic_istream
        : virtual public std::basic_ios < CharT, Traits >
    {
    public:
        basic_istream & ignore( std::streamsize count = 1, int_type delim = Traits::eof() );
    };
}

Argumenty

ArgumentOpis
countLiczba znaków do pominięcia (
std::numeric_limits < std::streamsize >::max()
 powoduje pominięcie wszystkich znaków).
delimZnak kończący pomijanie znaków (również zostanie pominięty, chyba że jego wartość wynosi
Traits::eof()
).

Zwracana wartość

Referencja do strumienia, czyli
* this
.

Przykład

C/C++
#include <iostream>
#include <sstream>
#include <limits>

int main()
{
    std::istringstream input( "tekst 3.14" );
    double number;
    input >> number; //nieudana próba wczytania liczby
    if( input.eof() || input.bad() ) std::cout << "Niepowodzenie!";
    else if( input.fail() )
    {
        input.clear(); //czyszczenie flag błędów
        //pomijanie nieprawidłowych danych
        input.ignore( std::numeric_limits < std::streamsize >::max(), ' ' );
        input >> number;
        std::cout << number;
    }
    return 0;
}
Standardowe wyjście programu:
3.14

Linki zewnętrzne