[c++] zapis do pliku


(Szala90) #1

Witam. Ucze sie pisać programów w C++ i mam problem z zapisem do pliku. Program sie kompiluje, a plik się nie tworzy. Mógłby mi ktoś napisać co jest nie tak??

#include 

#include 


using namespace std;


void silnia()

{

    // obliczanie silni


    int b=1, n, zapis ;

    cout<<"Podaj liczbe z ktorej chcesz obliczyc silnie: "<
    cin>>n;

    cout<< endl <<"podales liczbe: "<< n <

    if(n==0)

    {

        cout<<"Wynik jest rowny 1"<
    }

    else if (n<0)

    {

        cout<<"Nie istnieje silnia z liczby ujemnej"<
    }

    else

    {

        for(int i=1; i<=n; i++)

        {

            b = b*i ;

        }

        cout<<"wynik silni wynosi: "<< b <
        getchar();

    }


    // zapis do pliku

    fstream plik;

    plik.open("c:\\wynik.txt",ios::out);

    cout<<"Wyniki: "<
    cout<<"Podales liczbe: "<< n << " " << "wynik to: "<< b <
    plik >> n >> b;

    plik.close();

};




int main()

{

silnia();







getchar();

};

(Sawyer47) #2

Za zapis do strumienia odpowiada operator << (tak jak z standardowym wyjściem, do którego zapisujesz poprzez cout << ...)


(Szala90) #3

wielkie dzięki już działa :slight_smile: ale oprócz tego musiałem zmienić litere dysku ponieważ nie chciało mi się zapisywać na dysku c: na dysku d: wszystko jest ok :slight_smile: dzięki za pomoc

-- Dodane 19.09.2010 (N) 20:37 --

a czy ktoś może napisać jak można zrobić coś takiego żeby w przypadku braku pliku został on utworzony, a wartości zostały później dopisywane na końcu pliku?? bo mi sie wydaje że w tym przypadku trzeba by chyba zastosować 2 tryby pierwszy jako out a drugi app ale wolę sie upewnić


([alex]) #4

plik.open("c:\wynik.txt",ios::out | ios::app);


(Monczkin) #5

szala901 , nazwij proszę temat konkretnie, bez zbędnych problemów w tytule. Inaczej wyciągnę konsekwencje. Przeczytaj proszę ten temat. viewtopic.php?f=16&t=394978