Lekcja 32 - zadanie z podstawy obsługi plików
Ostatnio zmodyfikowano 2013-09-12 19:06
jaro98 Temat założony przez niniejszego użytkownika |
Lekcja 32 - zadanie z podstawy obsługi plików » 2013-09-12 19:04:36 Czemu funkcja czy_dziala działa tylko jeżeli użyję referencji? Czy to coś z moim kompilatorem, czy jest jakaś inna przyczyna? #include <iostream> #include <fstream> #include <string> void czy_dziala( std::ifstream & a ) { if( a.good() ) ; else std::cout << "nie dziala" << std::endl; }
std::string jaka_fraza() { std::string szukana; do { std::cin.clear(); std::cin.sync(); std::cout << "Program wypisze wszystkie linijki, w ktorych znajduje sie fraza ktora wpiszesz: "; std::cin >> szukana; if( std::cin.fail() ) std::cout << "blad, sprobuj ponownie"; } while( std::cin.fail() ); return szukana; }
int main() { std::ifstream plik; std::string fraza_szukana; std::string fraza_wczytana; plik.open( "ang.txt" ); czy_dziala( plik ); fraza_szukana = jaka_fraza(); while( getline( plik, fraza_wczytana ) ) { size_t znaleziona_pozycja = fraza_wczytana.find( fraza_szukana ); if( znaleziona_pozycja != std::string::npos ) std::cout << fraza_wczytana << std::endl; } return 0; }
|
|
pekfos |
» 2013-09-12 19:06:45 std::ifstream nie może być przekazane przez wartość, więc można tu użyć tylko referencji lub wskaźnika. |
|
« 1 » |