Arbetslägen
för filer.
En fils arbetsläge (mode) beskriver hur den är tänkt att användas: läsning, skrivning, utökning från slutet osv. När du associerar en ström med en fil, kan du ange ett andra argument som styr filens arbetsläge.
ifstream
fin("c:/minFil", ios_base::in);
öppnar filen för läsning
ifstream
fin("c:/minFil", ios_base::out);
öppnar filen för skrivning
ios_base::out öppna för skrivning
ios_base::ate leta upp filslut
när filen öppnas
ios_base::app Lägga till data vid filslut
ios_base::trunc truncera
filen om den existerar
ios_base::binary binärfil
Om du använder Bloodshed Dev C++ måste du kanske använda detta skrivsätt
I stället:
ios::in
ios::out
ios::ate
ios::app
ios::trunc
ios::binary
Metoden open () I klassen ifstream använder förstås ios_base::in som default.
Metoden open() i klassen ofstream använder ios_base::out | ios_base::trunc
Detta läge ios_base::trunc innebär alltså att en fil trunkeras, d.v.s tidigare innehåll raderas, när den öppnas.
Det är ju inte alltid så roligt.
Därför finns andra möjligheter ios_base::app gör så att data läggs till i slutet av filen och det tidigare innehållet bevaras.
Konstanterna kan också kombineras. Detta görs med operatorn | (pipe):
ios_base::in | ios_base::out
ios_base::out| ios_base::app
ios_base::in | ios_base::out|
ios_base::trunc
O.S.V.