ΚΕΦΑΛΑΙΟ 7o:ΑΡΧΕΙΑ

Υπάρχουν δύο τρόποι ανάγνωσης και γραφής αρχείων

1. υψηλού επιπέδου είσοδος/έξοδος
όπου κάθε ανάγνωση/εγγραφή γίνεται με ρυθμό
ενός χαρακτήρα κάθε φορά
2.χαμηλού επιπέδου είσοδος/έξοδος που λέγεται και «UNIX LΙKE»
Εδώ θα ασχοληθουμε μονο με τα αρχεια υψηλου επιπεδου
Οι πιο συνηθισμενες εντολες για τα αρχεια ειναι
fopen( ) ανοίγει το αρχείο για να χρησιμοποιηθεί
putc( ) γράφει ένα χαρακτήρα στο αρχείο
getc( ) διαβάζει ένα χαρακτήρα από το αρχείο
fclose( ) κλείνει ένα αρχείο
fseek( ) εκτελεί πράξεις τυχαίας προσπέλασης σε δίσκο.
fprintf( ) ‘τυπωνει ‘ στο αρχειο
fscanf() ‘εισαγει’ αριθμους από το αρχειο
Η συνάρτηση fopen συνήθως γράφεται ως εξής:

if (( fp = fopen("test.dat", "r")) = = ΝULL)
{
puts("Δεν μπορεί να ανοίξει αυτό το αρχείο\n");
exit( ) ;
}
όπου τύπος είναι ένας χαρακτήρας που πρέπει να είναι
r ( read ) για την ανάγνωση
w (write) για την εγγραφή
a (append) για την πρόσθεση εγγραφών στο τέλος του αρχείου.
H συνάρτηση putc( ) χρησιμοποιείται για να
γράφει χαρακτήρες σ' ένα αρχείο
το οποίο έχει ανοίξει χρησιμοποιώντας τη συνάρτηση fopen( ) με τον τύπο w
Ο γενικός τύπος της συνάρτησης είναι:
putc (ch, fp);

H συνάρτηση getc( ) χρησιμοποιείται για να διαβάζει χαρακτήρες από ένα αρχείο που άνοιξε με χρήση της συνάρτησης fopen ( ) και τύπο r.
O γενικός τύπος της συνάρτησης είναι:

char ch;
ch = getc(fp);

H συνάρτηση fclose( ) χρησιμοποιείται για να κλείνει ένα αρχείο που έχει ανοίξει μετά από κλήση στην fopen( )
Πρέπει να κλείνουμε όλα τα αρχεία πριν τελειώσει το πρόγραμμα
Ο γενικός τύπος της συνάρτησης fclose( ) είναι
fclose(fp);
Ο γενικός τύπος της fprintf( ) είναι:
fprintf(fp, "χαρακτήρες ελέγχου", λίστα παραμέτρων);

και της fscanf( ) είναι:
fscanf(fp, "χαρακτήρες ελέγχου", λίστα παραμέτρων );

ΑΣΚΗΣΕΙΣ ΓΙΑ ΕΞΑΣΚΗΣΗ
1.ΔΗΜΙΟΥΡΓΗΣΤΕ ΕΝΑ ΑΡΧΕΙΟ ΠΟΥ ΝΑ ΠΕΡΙΕΧΕΙ ΜΕΣΑ 10 ΑΡΙΘΜΟΥΣ ΜΕ ΤΟ ΟΝΟΜΑ ΑΡΙΤΗ.ΤΧΤ.ΝΑ ΓΡΑΨΕΤΕ ΕΝΑ ΠΡΟΓΡΑΜΜΑ ΠΟΥ ΝΑ ΑΝΟΙΓΕΙ ΤΟ ΑΡΧΕΙΟ Κ ΝΑ ΤΥΠΩΝΕΙ ΤΟ ΑΘΡΟΙΣΜΑ ΤΩΝ ΑΡΙΘΜΩΝ

1 σχόλιο:

  1. Ανώνυμος1:12 π.μ.

    Αυτό το σχόλιο αφαιρέθηκε από έναν διαχειριστή ιστολογίου.

    ΑπάντησηΔιαγραφή