Η συνάρτηση fprintf () στο C ++ χρησιμοποιείται για τη σύνταξη μιας μορφοποιημένης συμβολοσειράς σε ροή αρχείων.
πρωτότυπο fprintf ()
int fprintf (FILE * stream, const char * format,…);
Η fprintf()
συνάρτηση γράφει τη συμβολοσειρά που επισημαίνεται με μορφή στη ροή ροής. Η μορφή συμβολοσειράς μπορεί να περιέχει προσδιοριστές μορφής ξεκινώντας με% που αντικαθίστανται από τις τιμές των μεταβλητών που μεταβιβάζονται στη fprintf()
συνάρτηση ως πρόσθετα ορίσματα.
Ορίζεται στο αρχείο κεφαλίδας.
παράμετροι fprintf ()
- stream: Δείκτης σε ροή αρχείου εξόδου όπου είναι γραμμένα τα περιεχόμενα.
- μορφή: Δείκτης σε μηδενική τερματική συμβολοσειρά που είναι γραμμένη στη ροή αρχείων. Αποτελείται από χαρακτήρες μαζί με προαιρετικούς προσδιοριστές μορφής ξεκινώντας από%.
Οι προσδιοριστές μορφής αντικαθίστανται από τις τιμές των αντίστοιχων μεταβλητών που ακολουθούν τη συμβολοσειρά μορφής.
Ο προσδιοριστής μορφής έχει τα ακόλουθα μέρη:
- Ένα κορυφαίο σύμβολο%
- Σημαίες: Προαιρετική μία ή περισσότερες σημαίες που τροποποιούν τη συμπεριφορά μετατροπής.
- -: Αριστερά αιτιολογήστε το αποτέλεσμα στο πεδίο. Από προεπιλογή, δικαιολογείται σωστά.
- +: Το σύμβολο του αποτελέσματος επισυνάπτεται στην αρχή της τιμής, ακόμη και για θετικά αποτελέσματα.
- Space: Εάν δεν υπάρχει σημάδι, ένα κενό είναι προσαρτημένο στην αρχή του αποτελέσματος.
- #: Εκτελείται μια εναλλακτική μορφή μετατροπής.
- 0: Χρησιμοποιείται για ακέραιο και κυμαινόμενο αριθμό. Τα κορυφαία μηδενικά χρησιμοποιούνται για να γεμίσουν τους αριθμούς αντί για κενό.
- Πλάτος: Μια προαιρετική * ή ακέραια τιμή που χρησιμοποιείται για τον καθορισμό του πεδίου ελάχιστου πλάτους.
- Ακρίβεια: Ένα προαιρετικό πεδίο που αποτελείται από ακολουθούμενο από * ή ακέραιο ή τίποτα για να καθορίσετε την ακρίβεια.
- Μήκος: Ένας προαιρετικός τροποποιητής μήκους που καθορίζει το μέγεθος του ορίσματος.
- Καθορισμός: Ένας προσδιοριστής μορφής μετατροπής. Οι διαθέσιμοι προσδιοριστές μορφής είναι οι εξής:
Προσδιοριστής μορφής Περιγραφή % Εκτυπώσεις% ντο Γράφει έναν μόνο χαρακτήρα μικρό Γράφει μια συμβολοσειρά χαρακτήρων δ ή ι Μετατρέπει έναν υπογεγραμμένο ακέραιο σε δεκαδική αναπαράσταση ο Μετατρέπει έναν μη υπογεγραμμένο ακέραιο σε οκταδική αναπαράσταση X ή x Μετατρέπει έναν μη υπογεγραμμένο ακέραιο σε δεκαεξαδική αναπαράσταση εσύ Μετατρέπει έναν μη υπογεγραμμένο ακέραιο σε δεκαδική αναπαράσταση F ή f Μετατρέπει τον αριθμό κυμαινόμενου σημείου στην δεκαδική αναπαράσταση Ε ή ε Μετατρέπει τον αριθμό κυμαινόμενου σημείου στην υποδιαστολή του δεκαδικού εκθετικού Α ή α Μετατρέπει τον αριθμό κυμαινόμενου σημείου στον δεκαεξαδικό εκθέτη G ή g Μετατρέπει τον αριθμό κυμαινόμενου σημείου σε δεκαδικό ή δεκαδικό εκθετικό συμβολισμό ν Επιστρέφει τον αριθμό των χαρακτήρων που έχουν γραφτεί μέχρι στιγμής από αυτήν την κλήση στη συνάρτηση. Το αποτέλεσμα γράφεται στην τιμή που δείχνει το όρισμα Π Γράφει μια ακολουθία χαρακτήρων που καθορίζεται από την εφαρμογή και καθορίζει έναν δείκτη. Έτσι, η γενική μορφή του προσδιοριστή μορφής είναι:
%(flags)(width)(.precision)(length)specifier
- …: Άλλα πρόσθετα επιχειρήματα που καθορίζουν τα δεδομένα που θα εκτυπωθούν. Εμφανίζονται σε μια ακολουθία σύμφωνα με τον προσδιοριστή μορφής.
fprintf () Επιστροφή τιμή
Εάν είναι επιτυχής, η fprintf()
συνάρτηση επιστρέφει τον αριθμό των χαρακτήρων που έχουν γραφτεί. Σε αποτυχία επιστρέφει μια αρνητική τιμή.
Παράδειγμα: Πώς λειτουργεί η λειτουργία fprintf ()
#include int main() ( FILE *fp; fp = fopen("example.txt","w"); char lang(5)(20) = ("C","C++","Java","Python","PHP"); fprintf(fp,"Top 5 programming language"); for (int i=0; i<5; i++) fprintf(fp, "%d. %s", i+1, lang(i)); fclose(fp); return 0; )
Όταν εκτελείτε το πρόγραμμα, θα δημιουργηθεί ένα αρχείο "example.txt" (εάν δεν υπάρχει ήδη) και περιέχει την ακόλουθη συμβολοσειρά:
Κορυφαία 5 γλώσσα προγραμματισμού 1. C 2. C ++ 3. Java 4. Python 5. PHP