C ++ freopen () - C ++ Standardbibliotek

Freopen () -funktionen i C ++ försöker öppna en ny fil med en filström som är associerad med en annan öppnad fil.

Funktionen freopen () definieras i rubrikfilen.

freopen () prototyp

 FIL * freopen (const char * filnamn, const char * läge, FILE * stream);

Freopen-funktionen försöker först stänga filen som öppnas med ström. När filen har stängts försöker den öppna det filnamn som anges av argumentets filnamn (om det inte är null) i det läge som anges av argumentläget. Slutligen associerar den filen med filströmmen.

Om filnamnet är en nollpekare försöker funktionen freopen () att öppna filen som redan är kopplad till strömmen.

freopen () Parametrar

  • filnamn: Ny fil att öppna.
  • läge: Läge för att öppna filen med. Olika typer av filåtkomstläge är följande:
Olika lägen för filhantering
Filåtkomstläge Tolkning Om filen finns Om filen inte finns
"r" Öppnar filen i läsläge Läs från början Fel
"w" Öppnar filen i skrivläge Radera allt innehåll Skapa ny fil
"a" Öppnar filen i append-läge Börja skriva från slutet Skapa ny fil
"r +" Öppnar filen i läs- och skrivläge Läs från början Fel
"w +" Öppnar filen i läs- och skrivläge Radera allt innehåll Skapa ny fil
"a +" Öppnar filen i läs- och skrivläge Börja skriva från slutet Skapa ny fil
  • stream: Filströmmen som filnamnet ska kopplas till.

freopen () Returvärde

Funktionen freopen () returnerar:

  • strömma om framgång.
  • NULL vid misslyckande.

Exempel: Hur fungerar freopen ()?

 #include #include int main() ( FILE* fp = fopen("test1.txt","w"); fprintf(fp,"%s","This is written to test1.txt"); if (freopen("test2.txt","w",fp)) fprintf(fp,"%s","This is written to test2.txt"); else ( printf("freopen failed"); exit(1); ) fclose(fp); return 0; )

När du kör programmet:

 Följande skrivs till test1.txt: Detta skrivs till test1.txt Följande skrivs till test2.txt: Detta skrivs till test2.txt

Intressanta artiklar...