This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | Previous revision Next revision Both sides next revision | ||
|
cpp:streams [2020/05/17 16:53] |
cpp:streams [2020/05/17 17:51] gthanos |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== I/O Streams ====== | ||
| + | Η C++ εισάγει την έννοια του //stream//, ως μία ακολουθία χαρακτήρων θεωρητικά άπειρου μεγέθους. Οι χαρακτήρες: | ||
| + | * εισάγονται στο //stream// με συγκεκριμένη σειρά και γράφονται σε ένα αρχείο, | ||
| + | * διαβάζονται από ένα αρχείο, | ||
| + | |||
| + | Βασικά χαρακτηριστικά των //streams// είναι τα εξής: | ||
| + | - Ένα //stream// μεταφράζεται πάντα σε μία ακολουθία χαρακτήρων. Τα //streams// παρέχουν ένα ενιαίο τρόπο γραφής και ανάγνωσης προς τα αντικείμενα που τα χρησιμοποιούν ανεξάρτητα από το μέσο επικοινωνίας ή αποθήκευσης. Εάν μία κλάση μπορεί να γράψει σε ένα //stream// τότε μπορεί να γράψει σε όλους τους πιθανούς προορισμούς (αρχείο, | ||
| + | - Από την // | ||
| + | |||
| + | Ένα //stream// μπορεί να είναι: | ||
| + | * **// | ||
| + | * **// | ||
| + | * **// | ||
| + | |||
| + | Στην παρακάτω εικόνα δίνεται η βασική διάρθρωση των //streams// της C++, όπου φαίνονται και οι μεταξύ τους σχέσεις κληρονομικότητας. Κάτω από το όνομα κάθε κλάσης αναφέρεται το όνομα του αρχείου στο οποιό δηλώνεται το // | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ===== Αλληλεπίδραση με τη βασική είσοδο και έξοδο ===== | ||
| + | |||
| + | H C++ έρχεται με μία σειρά από έτοιμα //streams// για αλληλεπίδραση με την κονσόλα. Τα //streams// αυτά είναι τα εξής: | ||
| + | * **std:: | ||
| + | * **std:: | ||
| + | * **std:: | ||
| + | * **std:: | ||
| + | |||
| + | ===== Παράδειγμα χρήσης διαβάσματος στο cin και γραψίματος στα cout και cerr ===== | ||
| + | |||
| + | <code cpp ReadHeight.cpp> | ||
| + | #include < | ||
| + | using namespace std; | ||
| + | |||
| + | int main() { | ||
| + | double height; | ||
| + | |||
| + | do { | ||
| + | cout << "Enter your height (in meters): "; | ||
| + | cin >> height; | ||
| + | |||
| + | if(height > 0) | ||
| + | break; | ||
| + | | ||
| + | cerr << " | ||
| + | } while(true); | ||
| + | | ||
| + | cout << "You height is: " << height << " meters." | ||
| + | } | ||
| + | </ | ||