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

Rozdział 35. Problem z przykladem

Ostatnio zmodyfikowano 2020-05-18 11:05
Autor Wiadomość
rosa
Temat założony przez niniejszego użytkownika
Rozdział 35. Problem z przykladem
» 2018-12-06 22:04:37
Cześć, program z przykładu w rozdziale nie kompiluje mi sie, podkresla mi linijke:
  
int iWczytanychZnakow = plik.tellg() - iPozycjaStartowa;

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

int main()
{
    std::ifstream plik( "dane.txt" );
    if( !plik.good() )
         return 0;
   
    int iPozycjaStartowa = 4;
    plik.seekg( iPozycjaStartowa );
   
    int iLiczba;
    plik >> iLiczba;
   
    int iWczytanychZnakow = plik.tellg() - iPozycjaStartowa;
    std::cout << "Liczba: " << iLiczba << std::endl;
    std::cout << "Wczytano " << iWczytanychZnakow << " znakow" << std::endl;
    return 0;
}

P-173141
pekfos
» 2018-12-06 22:43:49
Jaki błąd?
P-173142
rosa
Temat założony przez niniejszego użytkownika
» 2018-12-06 23:00:06

Błąd C2666 "std::fpos<_Mbstatet>::operator -": przeciążenia 3 mają podobne konwersje

Błąd (aktywny) E0350 więcej niż jeden operator "-" pasuje do tych argumentów opercji
P-173143
YooSy
» 2018-12-06 23:05:49
Po jednej stronie operatora
-
 jest
std::streampos
 a po drugiej jest zwykły
int
i kompilator tego się czepia.

edit: To się nazwa szybka reakcja. ;)
P-173144
pekfos
» 2018-12-06 23:06:59
Powinno być
C/C++
std::streampos iPozycjaStartowa = 4;
Trzeba będzie poprawić w lekcji.

//edit: Fixed.
P-173145
niedzielka
Rozdział 35. Problem z plik.tellg()
» 2020-05-12 09:04:05
Po kompilacji programu z różnymi plikami za każdym razem iWczytanychZnaków pojawia się -5, ponieważ plik.tellg() zwraca -1.
P-176856
pekfos
» 2020-05-12 17:59:44
-1 jest zwracane w przypadku błędu.
P-176862
niedzielka
» 2020-05-13 08:39:34
A mam Pan pomysł skąd może brać się ten błąd, przykład jest żywcem skopiowany ze strony. Czy może mieć na to wpływ uruchamianie programu (kompilatora) z dysku zewnętrznego?
P-176872
« 1 » 2
  Strona 1 z 2 Następna strona