Η εγγραφή αρχείων στη γλώσσα C αναφέρεται στη διαδικασία δημιουργίας και εγγραφής περιεχομένου σε ένα αρχείο κειμένου. Αυτό επιτυγχάνεται μέσω της χρήσης βασικών συναρτήσεων αρχείων της C, όπως η fopen
, η fprintf
και η fclose
.
Αρχικά, χρειάζεται να ανοίξουμε ένα αρχείο για εγγραφή χρησιμοποιώντας τη συνάρτηση fopen
. Αυτή η συνάρτηση ανοίγει το αρχείο και επιστρέφει έναν δείκτη στο αρχείο, ο οποίος αποθηκεύεται σε μια μεταβλητή.
Στη συνέχεια, χρησιμοποιούμε τη συνάρτηση fprintf
για να εγγράψουμε περιεχόμενο στο αρχείο. Η fprintf
δέχεται τον δείκτη του αρχείου και ένα συμβολοσειριακό μοτίβο που περιέχει τα δεδομένα που θέλουμε να εγγράψουμε. Μπορούμε να χρησιμοποιήσουμε μεταβλητές και άλλα δεδομένα στο μοτίβο για να τα ενσωματώσουμε στο περιεχόμενο του αρχείου.
Τέλος, με τη συνάρτηση fclose
, κλείνουμε το αρχείο μετά την ολοκλήρωση της εγγραφής. Αυτό είναι σημαντικό για να ελευθερωθούν οι πόροι του συστήματος που αντιστοιχούν στο ανοιχτό αρχείο.
Ο παραπάνω κώδικας ανοίγει ένα αρχείο με το όνομα “file.txt” για εγγραφή. Στη συνέχεια, χρησιμοποιεί τη συνάρτηση fprintf
για να εγγράψει τη φράση “This is some text that we’re writing to a file.” στο αρχείο. Τέλος, το αρχείο κλείνεται με τη συνάρτηση fclose
.
Η χρήση της λειτουργίας “w” στον κώδικα σημαίνει ότι το αρχείο ανοίγεται για εγγραφή. Για να προσθέσετε περιεχόμενο στο αρχείο, μπορείτε να χρησιμοποιήσετε τη συνάρτηση fprintf()
και να περάσετε ως παραμέτρους τον δείκτη στο αρχείο (στην περίπτωση μας fp
) και το κείμενο που θέλετε να εισαγάγετε.
#include <stdio.h> int main() { FILE *fptr; // Δήλωση δείκτη σε αρχείο fptr = fopen("file.txt", "w"); // Άνοιγμα του αρχείου "file.txt" για εγγραφή fprintf(fptr, "This is some text that we're writing to a file.\n"); // Εγγραφή κειμένου στο αρχείο fclose(fptr); // Κλείσιμο του αρχείου return 0; }
Ο παραπάνω κώδικας πραγματοποιεί τις εξής ενέργειες:
- Συμπεριλαμβάνει τη βιβλιοθήκη
<stdio.h>
για τη χρήση των συναρτήσεων εισόδου/εξόδου. - Ορίζει τη συνάρτηση
main
, η οποία είναι η κύρια συνάρτηση του προγράμματος. - Δηλώνει έναν δείκτη προς αρχείο με το όνομα
fptr
. - Χρησιμοποιεί τη συνάρτηση
fopen
για να ανοίξει το αρχείο “file.txt” σε λειτουργία εγγραφής (“w”). - Χρησιμοποιεί τη συνάρτηση
fprintf
για να εγγράψει το κείμενο “This is some text that we’re writing to a file.” στο ανοιχτό αρχείο. - Χρησιμοποιεί τη συνάρτηση
fclose
για να κλείσει το ανοιχτό αρχείο. - Επιστρέφει την τιμή 0, υποδηλώνοντας ότι το πρόγραμμα ολοκληρώθηκε με επιτυχία.
Ο κώδικας δημιουργεί ένα αρχείο με όνομα “file.txt” και εγγράφει σε αυτό το κείμενο. Μετά την εκτέλεση του προγράμματος, θα δημιουργηθεί το αρχείο “file.txt” και θα περιέχει το κείμενο “This is some text that we’re writing to a file.”
Σημείωση: Εάν γράψετε σε ένα αρχείο που υπάρχει ήδη, το παλιό περιεχόμενο διαγράφεται και το νέο περιεχόμενο εισάγεται. Αυτό είναι σημαντικό να το γνωρίζετε, καθώς μπορείτε να διαγράψετε κατά λάθος υπάρχον περιεχόμενο.
Για παράδειγμα:
#include <stdio.h> int main() { FILE *fptr; // Δημιουργία δείκτη αρχείου fptr = fopen("file.txt", "w"); // Άνοιγμα αρχείου για εγγραφή fprintf(fptr, "This is some new text that we're writing to the file.\n"); // Εγγραφή κειμένου στο αρχείο fclose(fptr); // Κλείσιμο αρχείου return 0; }
Ο παραπάνω κώδικας στη γλώσσα C πραγματοποιεί τις εξής ενέργειες:
- Συμπεριλαμβάνει τη βιβλιοθήκη
<stdio.h>
που παρέχει συναρτήσεις εισόδου/εξόδου. - Ορίζει τη συνάρτηση
main
ως σημείο εκκίνησης του προγράμματος. - Δηλώνει έναν δείκτη αρχείου με όνομα
fptr
, που θα χρησιμοποιηθεί για να αναπαραστήσει ένα αρχείο. - Χρησιμοποιεί τη συνάρτηση
fopen
για να ανοίξει το αρχείο “file.txt” σε λειτουργία εγγραφής (mode “w”). Αν το αρχείο δεν υπάρχει, τότε θα δημιουργηθεί. - Χρησιμοποιεί τη συνάρτηση
fprintf
για να γράψει το κείμενο “This is some new text that we’re writing to the file.” στο αρχείο που ανοίχθηκε. Ηfprintf
λειτουργεί παρόμοια με τηνprintf
, αλλά εκτυπώνει το κείμενο στο αρχείο αντί για την κονσόλα. - Χρησιμοποιεί τη συνάρτηση
fclose
για να κλείσει το αρχείο που ανοίχθηκε. Αυτό εξασφαλίζει ότι οι αλλαγές που έγιναν στο αρχείο αποθηκεύονται και απελευθερώνονται οι πόροι που χρησιμοποιήθηκαν για το ανοιγμένο αρχείο. - Η συνάρτηση
main
επιστρέφει την τιμή 0, υποδηλώνοντας ότι το πρόγραμμα ολοκληρώθηκε με επιτυχία.
Αν θέλετε να προσθέσετε περιεχόμενο σε ένα αρχείο χωρίς να διαγράψετε το παλιό περιεχόμενο, μπορείτε να χρησιμοποιήσετε τη λειτουργία a.
Η λειτουργία a προσθέτει περιεχόμενο στο τέλος του αρχείου:
#include <stdio.h> int main() { FILE *fptr; // Δήλωση δείκτη προς αρχείο fptr = fopen("file.txt", "a"); // Άνοιγμα του αρχείου file.txt σε λειτουργία προσάρτησης ("a") fprintf(fptr, "This is some new text that we're appending to the file.\n"); // Εγγραφή κειμένου στο αρχείο fclose(fptr); // Κλείσιμο του αρχείου return 0; }
Ο παραπάνω κώδικας σε C πραγματοποιεί την προσάρτηση κειμένου σε ένα αρχείο. Ας αναλύσουμε τι κάνει κάθε μέρος του κώδικα:
- Ορίζεται η βιβλιοθήκη
<stdio.h>
που περιέχει τις συναρτήσεις εισόδου/εξόδου στο πρόγραμμα. - Η συνάρτηση
main
είναι η κύρια συνάρτηση του προγράμματος, από όπου ξεκινά η εκτέλεση. - Δημιουργείται μια μεταβλητή
fptr
τύπου δείκτη σε αρχείο. - Η συνάρτηση
fopen
χρησιμοποιείται για να ανοίξει το αρχείο “file.txt” σε λειτουργία προσάρτησης (“a”). Η συνάρτηση επιστρέφει έναν δείκτη προς το ανοικτό αρχείο, ο οποίος αποθηκεύεται στη μεταβλητήfptr
. - Η συνάρτηση
fprintf
χρησιμοποιείται για να γράψει το κείμενο “This is some new text that we’re appending to the file.” στο ανοικτό αρχείο. Η συνάρτηση λαμβάνει ως ορίσματα τον δείκτη προς το αρχείο (fptr
) και το κείμενο που θέλουμε να εγγράψουμε. - Η συνάρτηση
fclose
χρησιμοποιείται για να κλείσει το ανοικτό αρχείο. Με αυτόν τον τρόπο, απελευθερώνονται οι πόροι που χρησιμοποιούνται από το αρχείο. - Το πρόγραμμα επιστρέφει την τιμή 0, υποδηλώνοντας ότι ολοκλήρωσε την εκτέλεσή του χωρίς σφάλματα.