ΔΙΔΑΚΩΝ: ΠΑΡΙ ΜΑΣΟΡΟΚΩΣΑ

Σχετικά έγγραφα
Οντοκεντρικός Προγραμματισμός

ΔΙΔΑΚΩΝ: ΠΑΡΙ ΜΑΣΟΡΟΚΩΣΑ

Streams Input / Output in C++ George Kastrinis

Θεωρία τησ Πληροφορίασ (Θ) ΔΙΔΑΚΩΝ: Δρ. Αναςτάςιοσ Πολίτησ

Αρχεία & Ρεύματα ΑΡΧΕΙΑ & ΡΕΥΜΑΤΑ. Γεώργιος Παπαϊωάννου ( ) gepap@aueb.gr

S, (5, -3, 34, -23, 7) ( *, _

Οντοκεντρικόσ Ρρογραμματιςμόσ

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΛΩΣΣΑΣ C++ Constructors, Destructors, Pointers IO Streams, File Streams

18. ΡΕΥΜΑΤΑ(STREAMS) ΚΑΙ ΑΡΧΕΙΑ (FILES)

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 8: Αρχεία. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Δομημένος Προγραμματισμός

Οντοκεντρικός Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

ΠΡΟΤΥΠΑ. ΠΑΡΑ ΕΙΓΜΑ ηµιουργία πρότυπου στοίβας (stack) και στη συνέχεια δηµιουργία µιας στοίβας σηµείων.

Χωρική Βάση δεδοµένων Autocad

ΔΙΑΒΗΣΗ -ΠΑΙΔΙ ΚΑΙ ΔΙΑΣΡΟΦΗ

Οντοκεντρικός Προγραμματισμός

Γ7.2 Συμβολοσειρές (Strings) Γ Λυκείου Κατεύθυνσης

Αντικειμενοστραφής Προγραμματισμός

Προγραμματισμός Αρχεία

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΥΤΙΚΗ ΟΜΑΔΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ ΘΕΣΙΚΩΝ ΠΟΤΔΩΝ

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Αναφορές, είκτες και Αλφαριθμητικά

ΥΤΙΚΗ ΟΜΑΔΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ ΘΕΣΙΚΩΝ ΠΟΤΔΩΝ

ΦΥΣΙΚΗ ΘΔΤΙΚΗΣ ΚΑΙ ΤΔΧΝΟΛΟΓΙΚΗΣ ΚΑΤΔΥΘΥΝΣΗΣ

Οντοκεντρικός Προγραμματισμός

ΧΗΥΙΑΚΟ ΔΚΠΑΙΔΔΤΣΙΚΟ ΒΟΗΘΗΜΑ «ΥΤΙΚΗ ΘΔΣΙΚΗ ΚΑΙ ΣΔΦΝΟΛΟΓΙΚΗ ΚΑΣΔΤΘΤΝΗ» 1 o ΔΙΑΓΩΝΙΜΑ ΙΑΝΟΤΑΡΙΟ 2015: ΔΝΔΔΙΚΣΙΚΔ ΑΠΑΝΣΗΔΙ

Προγραμματισμός Υπολογιστών με C++

Προγραμματισμός Ι. Πίνακες, Δείκτες, Αναφορές και Δυναμική Μνήμη. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Οντοκεντρικός Προγραμματισμός

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δείκτες Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Συναρτήσεις II Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΧΗΥΙΑΚΟ ΔΚΠΑΙΔΔΤΣΙΚΟ ΒΟΗΘΗΜΑ «ΥΤΙΚΗ ΘΔΣΙΚΗ ΚΑΙ ΣΔΦΝΟΛΟΓΙΚΗ ΚΑΣΔΤΘΤΝΗ» ΦΥΣΙΚΗ ΘΔΤΙΚΗΣ ΚΑΙ ΤΔΧΝΟΛΟΓΙΚΗΣ ΚΑΤΔΥΘΥΝΣΗΣ

Πληροφορική ΙΙ Θεματική Ενότητα 13

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

ATTRACT MORE CLIENTS ΒΕ REMARKABLE ENJOY YOUR BUSINESS ΣΕΛ. 1

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

Προγραµµατιστικές Τεχνικές

3 η ΕΝΟΤΗΤΑ Ρύθμιση σήματος

test.txt #include <iostream> #include <fstream> int main()

ΥΤΙΚΗ ΟΜΑΔΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ ΘΔΣΙΚΩΝ ΠΟΤΔΩΝ

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Φροντιςτήριο. Linked-List

Εισαγωγή στη C++ Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα:

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΥΤΙΚΗ ΟΜΑΔΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ ΘΕΣΙΚΩΝ ΠΟΤΔΩΝ

ΠΟΤΔΑΣΗΡΙΟ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΑ. Δραγάτςη 8, Πειραιάσ Ιερ. Πατριάρχου 45, Αμπελόκηποι

Οντοκεντρικός Προγραμματισμός

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Δομές Επανάληψης. Εισαγωγή στη C++

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Συµβολοσειρές - Strings

Προέλευση της Pazcal ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Διαδικαστικός Προγραμματισμός

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Οντοκεντρικός Προγραμματισμός

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

2 η Διάλεξη C++ Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ

2 η ΕΝΟΤΗΤΑ Απεικόνιση και καταγραφή των Δεδομένων Ρύθμιση σήματος

ΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Στοιχειώδης προγραμματισμός σε C++

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Εντολές for, while, do-while Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Προγραμματισμός Υπολογιστών με C++

Δομημένος Προγραμματισμός

Διαδικαστικός Προγραμματισμός

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Διάλεξη 18η: Διαχείρηση Αρχείων

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Συμβολοσειρές ΣΥΜΒΟΛΟΣΕΙΡΕΣ. Γεώργιος Παπαϊωάννου ( )

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Συναρτήσεις I Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Προγραμματισμός Υπολογιστών με C++

Ηλεκτρονικοί Υπολογιστές

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου

ΨΗΥΙΑΚΟ ΔΚΠΑΙΔΔΤΣΙΚΟ ΒΟΗΘΗΜΑ «ΥΤΙΚΗ ΟΜΑΔΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ ΘΔΣΙΚΩΝ ΠΟΤΔΩΝ» ΥΤΙΚΗ ΟΜΑΔΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ ΘΔΣΙΚΩΝ ΠΟΤΔΩΝ ΘΔΜΑ Α ΘΔΜΑ Β.

Προγραµµατιστικές Τεχνικές

Εισαγωγή στον Προγραμματισμό με C++

Διαδικτυακές Εφαρμογές Ενότητα 4: Streams

Εισαγωγή στον επιστημονικό προγραμματισμό 1 o Μάθημα

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Εισαγωγή στον Προγραμματισμό με C++

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 12: Ροές και είσοδος/έξοδος αρχείων

Οντοκεντρικόσ Προγραμματιςμόσ

Προγραμματιστικές τεχνικές

Επαμαληπτική Άσκηση Access

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

Ηλεκτρονικοί Υπολογιστές

Φσζική Γ Λσκείοσ. Θεηικής & Τετμολογικής Καηεύθσμζης. Μηταμικά Κύμαηα Αρμομικό Κύμα - Φάζη. Οκτώβρης Διδάζκωμ: Καραδημηηρίοσ Μιτάλης

Εισαγωγή στην πληροφορική

Transcript:

ΑΝΣΙΚΕΙΜΕΝΟΣΡΑΦΗ ΠΡΟΓΡΑΜΜΑΣΙΜΟ(Θ) Ενότητα : ΑΝΣΙΚΕΙΜΕΝΟΣΡΑΦΗ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΔΙΔΑΚΩΝ: ΠΑΡΙ ΜΑΣΟΡΟΚΩΣΑ ΧΟΛΗ ΣΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΣΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗ ΣΕ

Άδειεσ Χρήςησ Σο παρόν εκπαιδευτικό υλικό υπόκειται ςε άδειεσ χρήςησ Creative Commons. Για εκπαιδευτικό υλικό, όπωσ εικόνεσ, που υπόκειται ςε άλλου τφπου άδειασ χρήςησ, η άδεια χρήςησ αναφζρεται ρητώσ.

Χρηματοδότηςη Σο παρόν εκπαιδευτικό υλικό ζχει αναπτυχθεί ςτα πλαίςια του εκπαιδευτικοφ ζργου του διδάςκοντα. Σο ζργο «Ανοικτά Ακαδημαϊκά Μαθήματα ςτο ΣΕΙ Κεντρικήσ Μακεδονίασ» ζχει χρηματοδοτήςει μόνο τη αναδιαμόρφωςη του εκπαιδευτικοφ υλικοφ. Σο ζργο υλοποιείται ςτο πλαίςιο του Επιχειρηςιακοφ Προγράμματοσ «Εκπαίδευςη και Δια Βίου Μάθηςη» και ςυγχρηματοδοτείται από την Ευρωπαϊκή Ζνωςη (Ευρωπαϊκό Κοινωνικό Σαμείο) και από εθνικοφσ πόρουσ.

Ενότητα ΑΝΣΙΚΕΙΜΕΝΟΣΡΑΦΗ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΔΙΔΑΚΩΝ: ΠΑΡΙ ΜΑΣΟΡΟΚΩΣΑ

Περιεχόμενα ενότητασ 1. Η ΚΛΑΣΗ string 2. ΜΕΘΟΔΟΙ ΣΗ ΚΛΑΗ string 3. ΣΕΛΕΣΕ ΣΗ ΚΛΑΗ string 4. ΠΑΡΑΔΕΙΓΜΑΣΑ ΜΕ ΣΕΛΕΣΕ ΣΗ ΚΛΑΗ string 5. ΕΙΟΔΟ / ΕΞΟΔΟ ΔΕΔΟΜΕΝΩΝ 6. ΚΛΑΕΙ ΓΙΑ ΕΙΟΔΟ / ΕΞΟΔΟ ΑΠΟ ΑΡΥΕΙΑ 7. ΕΛΕΓΥΟΙ Ε ΑΡΥΕΙΑ 8. ΕΞΟΔΟ Ε ΑΡΥΕΙΟ 9. ΕΙΟΔΟ ΑΠΟ ΑΡΥΕΙΟ 10. ΔΕΙΚΣΕ ΡΟΗ get, put 11. ΜΕΘΟΔΟΙ Ε ΡΟΕ ΕΙΟΔΟΤ / ΕΞΟΔΟΤ 12. ΜΕΘΟΔΟΙ ΓΙΑ ΕΙΟΔΟ/ΕΞΟΔΟ ΑΠΟ BINARY ΑΡΥΕΙΟ

κοποί ενότητασ

Η ΚΛΑΣΗ string #include <string> using namespace std; void main() { string first_name = "Bjarne"; string last_name; last_name = "Stroustrup"; string names = first_name + " " + last_name; cout << names << endl; names = last_name + ", " + first_name; cout << names << endl; } 7

ΜΕΘΟΔΟΙ ΣΗ ΚΛΑΗ string len, size string str = "Hello"; string::size_type len; len = str.length(); // len == 5 len = str.size(); // len == 5 c_str // Μεςαςοξπή ρε ρσμβξλξρειοά ςηπ C string filename; cout << "Enter file name: "; cin >> filename; ofstream outfile (filename.c_str()); outfile << "Data" << endl; insert string str11 = "abcdefghi"; string str12 = "0123"; str11.insert (3,str12); cout << str11 << endl; // "abc0123defghi" str12.insert (1,"XYZ"); cout << str12 << endl; // "0XYZ123" 8

ΜΕΘΟΔΟΙ ΣΗ ΚΛΑΗ string erase string str13 = "abcdefghi"; str12.erase (5,3); cout << str12 << endl; // "abcdei" replace string str14 = "abcdefghi"; string str15 = "XYZ"; str14.replace (4,2,str15); cout << str14 << endl; // "abcdxyzghi" find, rfind (find βοίρκει ςημ ποώςη θέρη, rfind βοίρκει ςημ ςελεσςαία string str16 = "abcdefghi"; string str17 = "def"; string::size_type pos = str16.find (str17,0); cout << pos << endl; // 3 pos = str16.find ("AB",0); if (pos == string::npos) // string::npos ειδικόπ υαοακςήοαπ ρε πεοίπςωρη // απξςσυίαπ ςηπ μεθόδξσ cout << "Not found" << endl; substr string str18 = "abcdefghi ; string str19 = str18.substr (6,2); cout << str19 << endl; // "gh" 9

ΣΕΛΕΣΕ ΣΗ ΚΛΑΗ string Οι τελεστές ποσ τρησιμοποιούνται σε αντικείμενα της κλάσης string είναι: =, +, +=,!=, <, >, <=, >=, <<, >> 10

ΠΑΡΑΔΕΙΓΜΑΣΑ ΜΕ ΣΕΛΕΣΕ ΣΗ ΚΛΑΗ string string str1 = "Hello "; string str2 = "there"; string str3 = str1 + str2; // "Hello there" string str1 = "Hello "; str1 += "there"; // Hello there str1 < str2; string str1 = "Hello there"; cout << str1 << endl; string str1; cin >> str1; 11

ΕΙΟΔΟ / ΕΞΟΔΟ ΔΕΔΟΜΕΝΩΝ Όςαμ θέλξσμε μα διαβάρξσμε / απξθηκεύρξσμε / ςσπώρξσμε από/ποξπ stdin / stdout ή ρε αουεία ξι βιβλιξθήκεπ πξσ ποέπει μα ειράγξσμε είμαι ξι : #include<iostream> Βιβλιξθήκη για είρξδξ / ένξδξ. #include<iomanip> Βιβλιξθήκη για C++ manipulators. Γεμικά υοήριμη βιβλιξθήκη. #include<fstream> Βιβλιξθήκη για είρξδξ / ένξδξ με υοήρη αουείωμ. 12

ΚΛΑΕΙ ΓΙΑ ΕΙΟΔΟ / ΕΞΟΔΟ ΑΠΟ ΑΡΥΕΙΑ ofstream: Κλάρη για ένξδξ δεδξμέμωμ ρε αουείξ ifstream: Κλάρη για διάβαρμα από αουείξ fstream: Κλάρη για διάβαρμα και ένξδξ δεδξμέμωμ ρε αουείξ Για μα αμξίνξσμε έμα αουείξ (για είρξδξ ή ένξδξ) υοηριμξπξιξύμε ςημ εμςξλή void open (const char * filename, openmode 1 openmode 2.. openmode k ); openmode: ios::in, ios::out, ios::ate, ios::trunc, ios::app, ios::binary Παοάδειγμα: ofstream file ("example.bin", ios::out ios::app ios::binary); 13

ΕΛΕΓΥΟΙ Ε ΑΡΥΕΙΑ Μπξοξύμε μα ελέγνξσμε εάμ έμα αουείξ έυει αμξίνει ρωρςά με ςημ μέθξδξ is_open() Κλείμξσμε έμα αουείξ με ςη μέθξδξ close() Όςαμ έυξσμε αουεία κειμέμξσ (text files) ςόςε μπξοξύμε μα υοηριμξπξιξύμε ςιπ ίδιεπ μεθόδξσπ με ςα cin, cout όπωπ και όςαμ έυξσμε είρξδξ/ένξδξ από ςξ πληκςοξλόγιξ (είρξδξ), ή ςημ ξθόμη (ένξδξ). 14

ΕΞΟΔΟ Ε ΑΡΥΕΙΟ // Ένξδξπ δεδξμέμωμ ρε αοχείξ #include <fstream.h> int main () { ofstream examplefile ("example.txt"); Μιας και δεν δίνουμε openmode, tο openmode εδώ είναι από default ios::out ios::trunc } if (examplefile.is_open()) { examplefile << "This is a line.\n"; examplefile << "This is another line.\n"; examplefile.close(); } return 0; Το αρτείο example.txt θα περιέτει: This is a line. This is another line. 15

ΕΙΟΔΟ ΑΠΟ ΑΡΥΕΙΟ // Είρξδξπ από αοχείξ κειμέμξσ #include <iostream.h> #include <fstream.h> #include <stdlib.h> int main () { char buffer[256]; ifstream examplefile ("example.txt"); } if (! examplefile.is_open()) { cout << "Error opening file"; exit (1); } while (! examplefile.eof() ) { examplefile.getline (buffer,100); cout << buffer << endl; } return 0; Στην οθόνη τσπώνεται: This is a line. This is another line. 16

ΔΕΙΚΣΕ ΡΟΗ get, put Ο δείκςηπ οξήπ είμαι ςξ απξςέλερμα ςηπ κλήρηπ ςωμ constructors istream, ifstream, ostream, ofstream. Όςαμ μιλάμε για είρξδξ ςόςε ξ δείκςηπ ξμξμάζεςαι get input stream, εμώ όςαμ έυξσμε μα κάμξσμε με ένξδξ ξμξμάζεςαι put input stream. Υπάουξσμ μεοικέπ ρσμαοςήρειπ βιβλιξθήκηπ πξσ εταομόζξμςαι ρσυμά ρςιπ δύξ ασςέπ οξέπ (ειρόδξσ, ενόδξσ) 17

ΜΕΘΟΔΟΙ Ε ΡΟΕ ΕΙΟΔΟΤ / ΕΞΟΔΟΤ tellg() (για get δείκςη) και tellp() (για put δείκςη) Επιρςοέτξσμ ςημ θέρη πξσ βοιρκόμαρςε ρςξ αουείξ seekg() and seekp() (Καςάλληλεπ για υοήρη με αουεία κειμέμξσ) Επιςοέπξσμ ςημ αλλαγή ςηπ θέρηπ πξσ βοιρκόμαρςε ρςξ αουείξ seekg ( pos_type_position ); seekp ( pos_type_position ); Αλλάζξσμ ςη θέρη πξσ βοιρκόμαρςε ρςξ αουείξ καςά ρςαθεοό βήμα ίρξ με ςημ ςιμή pos_type_position και ρε ρυέρη με ςημ αουή ςξσ αουείξσ seekg ( off_type_offset, seekdir_direction ); seekp ( off_type_offset, seekdir_direction ); Αλλάζξσμ ςη θέρη πξσ βοιρκόμαρςε ρςξ αουείξ ίρξ με ςημ ςιμή offset και ρε ρυέρη με ςo ρημείξ πξσ πεοιγοάτει η παοάμεςοξπ seekdir_direction Oι ςιμέπ ςηπ παοαμέςοξσ seekdir_direction μπξοεί μα είμαι: ios::beg (αουή ςξσ αουείξσ) ios::cur (ςοέυωμ ρημείξ) ios::end (ςέλξπ ςξσ αουείξσ) 18

ΠΑΡΑΔΕΙΓΜΑ // Υπξλξγιρμόπ μεγέθξσπ binary αοχείξσ #include <iostream.h> #include <fstream.h> const char * filename = "example.txt"; int main () { long l, m; ifstream file (filename, ios::in ios::binary); Στην οθόνη τσπώνεται: size of example.txt is 40 bytes. } l = file.tellg(); file.seekg (0, ios::end); m = file.tellg(); file.close(); cout << "size of " << filename; cout << " is " << (m-l) << " bytes.\n"; return 0; 19

ΜΕΘΟΔΟΙ ΓΙΑ ΕΙΟΔΟ/ΕΞΟΔΟ ΑΠΟ BINARY ΑΡΥΕΙΟ write ( char * buffer, streamsize size ); Γοάτει από ςη ρσμβξλξρειοά buffer ςόρα bytes όρα ξοίζξμςαι από ςη παοάμεςοξ size read ( char * buffer, streamsize size ); Διαβάζει από ςξ αουείξ ςόρα bytes όρα ξοίζξμςαι από ςη παοάμεςοξ size και απξθέςει ρςη ρσμβξλξρειοά buffer 20

ΠΑΡΑΔΕΙΓΜΑ // Είρξδξπ από binary αοχείξ #include <iostream.h> #include <fstream.h> const char * filename = "example.txt"; int main () { char * buffer; long size; ifstream file (filename, ios::in ios::binary I ιos::ate); } size = file.tellg(); file.seekg (0, ios::beg); buffer = new char [size]; file.read (buffer, size); file.close(); cout << "the complete file is in a buffer"; delete [] buffer; return 0; Στην οθόνη τσπώνεται: the complete file is in a buffer 21

Σέλος Ενότητας