Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Rozdział 35 - Zadanie

Ostatnio zmodyfikowano 2019-03-02 12:22
Autor Wiadomość
Mational
Temat założony przez niniejszego użytkownika
Rozdział 35 - Zadanie
» 2019-03-02 12:15:23
Witam, zrobiłem zadanie z rozdziału 35, ale nie wydaje mi się, że nie działa on poprawnie. Może ktoś napisać, czy to o to chodziło ?

C/C++
#include <iostream>
#include <fstream>

using namespace std;

bool odczyt( string sciezka )
{
    ifstream plik( sciezka );
    if( !plik.good() )
         return false;
   
    char cZnak;
    while( true )
    {
        plik.seekg( 2, ios::cur );
        plik >> cZnak;
        if( !plik.fail() )
             cout << cZnak << endl;
        else
        {
            if( plik.bad() )
                 return false;
            else
            {
                if( plik.eof() )
                     break;
               
                return false;
            }
        }
    }
    cout << "Koniec wczytywanie pliku" << endl;
    return true;
}

int main()
{
    if( odczyt( "dane.txt" ) )
         cout << "Poprawnie wczytano dane" << endl;
   
    return 0;
}

Chodzi mi dokładnie o to, że program przesuwając się o kolejne pozycje w pliku "akceptuje" znaki białe, ale jeśli zatrzyma się na znaku białym automatycznie wypisuje kolejny znak.
P-174098
pekfos
» 2019-03-02 12:22:59
Zadanie nie określa zachowania w tym przypadku, więc każde jest dobre. Pomijanie białych znaków to domyślne zachowanie operatora >>. Możesz użyć std::cin.get() zamiast niego.
P-174099
« 1 »
  Strona 1 z 1