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

Lekcja 32 - zadanie z podstawy obsługi plików

Ostatnio zmodyfikowano 2013-09-12 19:06
Autor Wiadomość
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?
C/C++
#include <iostream>
#include <fstream>
#include <string>
void czy_dziala( std::ifstream & a )
{
    if( a.good() )
    //std::cout << "dziala" << std::endl;
        ;
    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;
}
P-92025
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.
P-92026
« 1 »
  Strona 1 z 1