6.8 Διαχείριση αρχείων στη γλώσσα C++

Η διαχείριση αρχείων στη γλώσσα C++ αφορά τις διαδικασίες που σχετίζονται με το άνοιγμα, την ανάγνωση, την εγγραφή, τον χειρισμό και το κλείσιμο αρχείων.

Για να διαχειριστούμε ένα αρχείο στη γλώσσα C++, χρησιμοποιούμε την κλάση “fstream” από τη βιβλιοθήκη . Αυτή η κλάση παρέχει διάφορες συναρτήσεις και μεθόδους για το άνοιγμα, την ανάγνωση και την εγγραφή δεδομένων σε αρχεία.

Για παράδειγμα, για να ανοίξουμε ένα αρχείο για ανάγνωση, χρησιμοποιούμε ένα αντικείμενο της κλάσης “ifstream” και τη συνάρτηση “open()” για να δηλώσουμε το όνομα του αρχείου που θέλουμε να ανοίξουμε. Έπειτα, μπορούμε να χρησιμοποιήσουμε την συνάρτηση “>>” για να διαβάσουμε δεδομένα από το αρχείο.

Αντίστοιχα, για να ανοίξουμε ένα αρχείο για εγγραφή, χρησιμοποιούμε ένα αντικείμενο της κλάσης “ofstream” και τη συνάρτηση “open()” για να δηλώσουμε το όνομα του αρχείου που θέλουμε να δημιουργήσουμε ή να ανοίξουμε για εγγραφή. Έπειτα, μπορούμε ν

α χρησιμοποιήσουμε τη συνάρτηση “<<” για να εγγράψουμε δεδομένα στο αρχείο.

Επιπλέον, υπάρχουν και άλλες χρήσιμες συναρτήσεις και μεθόδοι για τη διαχείριση αρχείων στη γλώσσα C++, όπως ο έλεγχος του τέλους του αρχείου, η μετακίνηση του δρομέα ανάγνωσης/εγγραφής και η κλείσιμο του αρχείου με τη χρήση της συνάρτησης “close()”.

Η διαχείριση αρχείων στη γλώσσα C++ είναι ένα σημαντικό κομμάτι της ανάπτυξης προγραμμάτων και μας επιτρέπει να διαχειριστούμε δεδομένα που αποθηκεύονται σε αρχεία με αποτελεσματικό τρόπο.

Για να χρησιμοποιήσουμε τη βιβλιοθήκη fstream, πρέπει να συμπεριλάβουμε τα αρχεία κεφαλίδας και :

#include <iostream>
#include <fstream>
using namespace std;

int main() {
  // code
  return 0;
}

Παρακάτω έχουμε ένα αναλυτικό παράδειγμα για τη διαχείριση αρχείων στη γλώσσα C++:

#include <iostream>
#include <fstream>
using namespace std;

int main() {
    // Ανοίγουμε ένα αρχείο για εγγραφή
    ofstream myfile("example.txt");

    if (myfile.is_open()) {
        // Εγγράφουμε δεδομένα στο αρχείο
        myfile << "Αυτό είναι ένα παράδειγμα." << endl;
        myfile << "Αριθμός: " << 10 << endl;

        // Κλείνουμε το αρχείο
        myfile.close();
        cout << "Το αρχείο εγγράφηκε με επιτυχία." << endl;
    }
    else {
        cout << "Δεν ήταν δυνατό να ανοίξει το αρχείο." << endl;
    }

    // Ανοίγουμε το αρχείο για ανάγνωση
    ifstream myfile2("example.txt");

    if (myfile2.is_open()) {
        string line;

        // Διαβάζουμε το αρχείο γραμμή-γραμμή
        while (getline(myfile2, line)) {
            cout << line << endl;
        }

        // Κλείνουμε το αρχείο
        myfile2.close();
    }
    else {
        cout << "Δεν ήταν δυνατό να ανοίξει το αρχείο." << endl;
    }

    return 0;
}

Σε αυτό το παράδειγμα, ανοίγουμε ένα αρχείο με όνομα “example.txt” για εγγραφή και εγγράφουμε δεδομένα σε αυτό. Στη συνέχεια, ανοίγουμε το αρχείο για ανάγνωση και διαβάζουμε το περιεχόμενό του γραμμή-γραμμή, εμφανίζοντας το στην οθόνη.

Αυτό είναι ένα απλό παράδειγμα για τη διαχείριση αρχείων στη γλώσσα C++. Μπορούμε να χρησιμοποιήσουμε διάφορες συναρτήσεις και μεθόδους για πιο προηγμένη επεξεργασία αρχείων, όπως ανάγνωση/εγγραφή δομημένων δεδομένων, μετακίνηση δρομέα ανάγνωσης/εγγραφής και άλλα.

Για τη δημιουργία ενός αρχείου και την εγγραφή σε αυτό, μπορείτε να χρησιμοποιήσετε την κλάση ofstream ή fstream στη γλώσσα C++. Πρώτα ορίζετε το όνομα του αρχείου που θέλετε να δημιουργήσετε.

Έπειτα, χρησιμοποιείτε τον τελεστή εισαγωγής (<<) για να εγγράψετε δεδομένα στο αρχείο. Μπορείτε να εγγράψετε μεμονωμένες τιμές, αλφαριθμητικά, ακολουθίες χαρακτήρων και οτιδήποτε άλλο θέλετε να αποθηκεύσετε.

Παρακάτω έχουμε ένα παράδειγμα κώδικα που δημιουργεί ένα αρχείο με το όνομα “example.txt” και εγγράφει μια ακολουθία αριθμών:

#include <iostream>
#include <fstream>
using namespace std;

int main() {
    ofstream myfile("example.txt");  // Δημιουργία αρχείου

    if (myfile.is_open()) {
        for (int i = 1; i <= 10; i++) {
            myfile << i << endl;  // Εγγραφή αριθμού στο αρχείο
        }

        myfile.close();  // Κλείσιμο αρχείου
        cout << "Το αρχείο δημιουργήθηκε και εγγράφηκαν δεδομένα." << endl;
    }
    else {
        cout << "Δεν ήταν δυνατό να δημιουργηθεί το αρχείο." << endl;
    }

    return 0;
}

Σε αυτό το παράδειγμα, δημιουργούμε ένα αρχείο με το όνομα “example.txt” και εγγράφουμε τους αριθμούς από 1 έως 10 σε αυτό το αρχείο. Τέλος, κλείνουμε το αρχείο και εμφανίζουμε μια κατάλληλη μήνυση ανάλογα με το αν η δημιουργία και η εγγραφή ήταν επιτυχής.

Για να διαβάσετε από ένα αρχείο στη γλώσσα C++, μπορείτε να χρησιμοποιήσετε την κλάση ifstream ή fstream και να καθορίσετε το όνομα του αρχείου που θέλετε να διαβάσετε.

Ένας συνηθισμένος τρόπος για να διαβάσετε το αρχείο γραμμή προς γραμμή είναι να χρησιμοποιήσετε έναν βρόχο while μαζί με τη συνάρτηση getline() που ανήκει στην κλάση ifstream. Η getline() διαβάζει μια γραμμή από το αρχείο και την αποθηκεύει σε ένα αλφαριθμητικό (string), που μπορείτε να εκτυπώσετε ή να επεξεργαστείτε όπως επιθυμείτε.

Παρακάτω έχουμε ένα παράδειγμα κώδικα που διαβάζει ένα αρχείο με το όνομα “example.txt” και εκτυπώνει το περιεχόμενο του αρχείου γραμμή προς γραμμή:

#include <iostream>
#include <fstream>
using namespace std;

int main() {
    ifstream myfile("example.txt");  // Άνοιγμα αρχείου για ανάγνωση

    if (myfile.is_open()) {
        string line;
        while (getline(myfile, line)) {  // Διάβασμα γραμμής από το αρχείο
            cout << line << endl;  // Εκτύπωση γραμμής
        }

        myfile.close();  // Κλείσιμο αρχείου
        cout << "Το αρχείο διαβάστηκε επιτυχώς." << endl;
    }
    else {
        cout << "Δεν ήταν δυνατό να ανοιχτεί το αρχείο." << endl;
    }

    return 0;
}

Σε α

υτό το παράδειγμα, χρησιμοποιούμε την ifstream myfile(“example.txt”) για να ανοίξουμε το αρχείο “example.txt” για ανάγνωση. Στη συνέχεια, χρησιμοποιούμε τον βρόχο while για να διαβάσουμε γραμμή προς γραμμή από το αρχείο με την getline() και να εκτυπώσουμε την κάθε γραμμή. Τέλος, κλείνουμε το αρχείο με την myfile.close() και εμφανίζουμε μια κατάλληλη μήνυση ανάλογα με το αν η ανάγνωση ήταν επιτυχής ή όχι.

27 Ιουνίου, 2023
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων