[ eSsss @ 22.05.2009. 13:15 ] @
Trebala bi mi mala pomoc.Naime imam problema u vezi pozicioniranja u txt fajlu.Zeleo bih da ovakav ispis u fajlu:

Code:

----------------------
IME               PREZIME
Marko             Markovic
Petar             Petrovic
...


E sad imam problem kad upisem ime u datoteku, moram se pozicionirati od pocetka reda npr. na 15 mesto.Ja sam uradio to na ovaj nacin:

Code:

...
           cout << "Unesite ime: ";
    cin >> ime;

    cout << "Unesite prezime: ";
    cin >> prezime;

    fstream dat;

    dat.open("datoteka.txt",ios.app);

    dat << "\n" << ime;
    
    velicina = ime.size();
    
    pomeraj = 15 - velicina;

    for(int i=0;i<pomeraj;i++)
    {
        dat << " ";        
    }
    
    dat << prezime;
  
           dat.close()
...


Ali to mi je malo seljacki i ne moze se koristiti uvek.Guglao sam i nasao funkcije seekg, seekp, tellg, tellp .Ali ne mogu da skontam kako one rade...Pa ako neko moze da napise na koji nacin da ih iskoristim, ili neku drugu ideju za resenje ovog problema.
[ djoka_l @ 22.05.2009. 13:32 ] @
Za formatirani izlaz koristi funkcije printf ili sprintf.

Na primer:

Code:

char OutputBuffer[255];
sprintf(OutputBuffer, "%15s%s\n", ime, prezime);
dat << OutputBuffer;
[ Mihajlo Cvetanović @ 22.05.2009. 13:37 ] @
#include <iomanip.h>
...

dat << setiosflags(ios::left) << setw(15) << ime << prezime << endl;

Dve set funkcije se odnose samo na prvo sledeće polje tj. ime.
[ eSsss @ 22.05.2009. 14:22 ] @
Hvala care to se trazi.

Poz.