[ negative7 @ 20.09.2009. 16:33 ] @
Da li moze netko pomoci kako da napravim program da dodat novu recenicu u datoteku svaki put kad pokrenem program.
ovo je moj neuspjeli pokusaj:

Code:

#include<iostream>

#include<fstream>
using namespace std;

void main()
{
    char y[200];
    char temp[200];
    fstream x("c:\\recenica2.txt",ios_base::in);
    if(!x)
    {
        cout<<"Nepostojeca datoteka"<<endl;
        x.clear();
        x.open("c:\\recenica2.txt",ios_base::out);
        cout<<"Unesite recenicu: ";
        gets(y);
        x<<y<<endl;
        x.close();
    }
    x.open("c:\\recenica2.txt",ios_base::in | ios_base::out);

    do
    {
        x>>y;
    }while(!x.eof());
    cout<<"Vasa stara recenica glasi: "<<y<<endl;
    cout<<"Unesite novu recenicu :";
    gets(y);
    x.clear();
    x<<y<<endl;
    if(x.fail())
    {
        cout<<"Nije uredu upis"<<endl;
    }
    else
    {
        cout<<"Nova recenica: "<<y<<endl;
    }

}


hvala unaprijed a ako nekom nije mrsko nek napise kod za brisanje neke recenice iz datoteke(Prve ili zadnje bilo koje).
[ Mihajlo Cvetanović @ 20.09.2009. 22:36 ] @
Opiši normalnim jezikom šta želiš da se desi u programu. Opis zadatka je štur.
[ negative7 @ 20.09.2009. 22:49 ] @
pokrenem program i on me upita za upis recenice.ja tu recenicu spremim u neku datoteku.Ponovo pokrenem program opet me pita recenicu ja je upisem a on je smjesti ispod one prve recenice u datoteci.Znaci nadodajem sadrzaj datoteke.
[ xeron @ 21.09.2009. 01:22 ] @
Code:

//dodavanje texta sa std. ulaza
x.clear();                        // reset fstream flag
x.seekp(0, ios_base::end); // idemo na kraj file-a
while (cin.get(znak))         //pisanje u x
    outfile << znak;
[ Goran Arandjelovic @ 21.09.2009. 04:15 ] @
Uz sve to, imaš i flag ios::ate, koji te pozicionira na kraj fajla prilikom otvaranja.