Rozdział 35. Problem z przykladem
Ostatnio zmodyfikowano 2020-05-18 11:05
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: #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; }
|
|
pekfos |
» 2018-12-06 22:43:49 Jaki błąd? |
|
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
|
|
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. ;) |
|
pekfos |
» 2018-12-06 23:06:59 Powinno być std::streampos iPozycjaStartowa = 4;
Trzeba będzie poprawić w lekcji. //edit: Fixed. |
|
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. |
|
pekfos |
» 2020-05-12 17:59:44 -1 jest zwracane w przypadku błędu. |
|
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? |
|
« 1 » 2 |