Avatar billede kernelx Juniormester
15. december 2006 - 11:51 Der er 5 kommentarer og
1 løsning

ændre seek

hi,

jeg vil gerne - i stedet for fileHandlerVersion1.read() og fileHanlderVersion1.write() - bruge
fileHandlerVersion2 >> og fileHandlerVersion2 <<.

mit problem er, at jeg ikke ved hvordan man ændrer offset-positionen med fileHandlerVersion2. altså det man laver med seek i filHandlerVersion1.

er der en, som kan hjælpe mig?

med venlig hilsen
KernelX
Avatar billede lars314 Nybegynder
15. december 2006 - 12:16 #1
Jeg er lidt i tvivl om hvad du mener, men hvis din fileHandlerVersion2 er en std::ostream så kan du kigger på tellp og seekp (og clear).
Avatar billede kernelx Juniormester
15. december 2006 - 12:29 #2
fstream fileHandler1("test.txt", ios::in|ios::out|ios::binary);

ofstream fileHandler2("test.txt");
ifstream fileHandler2("test.txt");
Avatar billede lars314 Nybegynder
15. december 2006 - 13:32 #3
Du skal bruge funktionerne tellg og seekg til input streams og
tellp og seekp til output streams.
Du skal også resette evt. fejl flag ved brug af clear ellers vil dine seekg og seekp ikke virke.

Eksempel

long pos2 = fileHandler2.tellp();
fileHandler2.seekp(pos2 - 10);
Avatar billede lars314 Nybegynder
15. december 2006 - 13:33 #4
Avatar billede kernelx Juniormester
15. december 2006 - 13:51 #5
hvad sker der, hvis jeg vil læse eller skrive ind i en fil - men filen ikke eksisterer?
hvordan kan jeg create en fil i c++?

husk at skrive et eller andet som svar pga. points
Avatar billede lars314 Nybegynder
19. december 2006 - 08:30 #6
Så vil der blive rejst nogle fejl flag.


fstream fileHandler1("test.txt", ios::in|ios::out|ios::binary);
ofstream fileHandler2("test.txt");

Vil begge create filen, hvis navnet er gyldigt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester