C ++ freopen () - C ++ Τυπική βιβλιοθήκη

Η συνάρτηση freopen () στο C ++ προσπαθεί να ανοίξει ένα νέο αρχείο με μια ροή αρχείων που σχετίζεται με άλλο ανοιχτό αρχείο.

Η συνάρτηση freopen () ορίζεται στο αρχείο κεφαλίδας.

πρωτότυπο freopen ()

 FILE * freopen (const char * όνομα αρχείου, const char * mode, FILE * stream);

Η συνάρτηση freopen προσπαθεί πρώτα να κλείσει το αρχείο που άνοιξε χρησιμοποιώντας ροή. Μετά το κλείσιμο του αρχείου, επιχειρεί να ανοίξει το όνομα αρχείου που καθορίζεται από το όνομα αρχείου ορίσματος (εάν δεν είναι μηδενικό) στη λειτουργία που καθορίζεται από τη λειτουργία ορίσματος Τέλος, συσχετίζει το αρχείο με τη ροή ροής αρχείων.

Εάν το όνομα αρχείου είναι μηδενικός δείκτης, η συνάρτηση freopen () επιχειρεί να ανοίξει ξανά το αρχείο που σχετίζεται ήδη με τη ροή.

freopen () Παράμετροι

  • όνομα αρχείου: Νέο αρχείο για άνοιγμα.
  • mode: Λειτουργία για να ανοίξετε το αρχείο με. Διαφορετικοί τύποι τρόπου πρόσβασης αρχείων είναι οι εξής:
Διαφορετικοί τρόποι λειτουργίας αρχείου
Λειτουργία πρόσβασης αρχείων Ερμηνεία Εάν υπάρχει αρχείο Εάν το αρχείο δεν υπάρχει
"r" Ανοίγει το αρχείο σε λειτουργία ανάγνωσης Διαβάστε από την αρχή Λάθος
"w" Ανοίγει το αρχείο σε λειτουργία εγγραφής Διαγράψτε όλα τα περιεχόμενα Δημιουργήστε νέο αρχείο
"ένα" Ανοίγει το αρχείο σε λειτουργία προσάρτησης Ξεκινήστε να γράφετε από το τέλος Δημιουργήστε νέο αρχείο
"r +" Ανοίγει το αρχείο σε λειτουργία ανάγνωσης και εγγραφής Διαβάστε από την αρχή Λάθος
"w +" Ανοίγει το αρχείο σε λειτουργία ανάγνωσης και εγγραφής Διαγράψτε όλα τα περιεχόμενα Δημιουργήστε νέο αρχείο
"α +" Ανοίγει το αρχείο σε λειτουργία ανάγνωσης και εγγραφής Ξεκινήστε να γράφετε από το τέλος Δημιουργήστε νέο αρχείο
  • stream: Η ροή αρχείων για να συσχετίσετε το όνομα αρχείου με.

freopen () Επιστροφή τιμή

Η συνάρτηση freopen () επιστρέφει:

  • ροή στην επιτυχία.
  • NULL σχετικά με την αποτυχία.

Παράδειγμα: Πώς λειτουργεί η λειτουργία 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; )

Όταν εκτελείτε το πρόγραμμα:

 Τα ακόλουθα θα γραφτούν στο test1.txt: Αυτό θα γραφτεί στο test1.txt Τα ακόλουθα θα γραφτούν στο test2.txt: Αυτό γράφεται στο test2.txt

ενδιαφέροντα άρθρα...