User Tools

Site Tools


cpp:streams

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
cpp:streams [2019/05/20 18:20]
gthanos [I/O Streams]
cpp:streams [2020/05/17 16:53]
Line 1: Line 1:
-====== I/O Streams ====== 
  
-Η C++ εισάγει την έννοια του //stream//, ως μία ακολουθία από χαρακτήρες οι οποίοι μπορούν: 
-  * να εισαχθούν στο //stream// με συγκεκριμένη σειρά και να γραφούν σε ένα αρχείο ή σε μία σειριακή συσκευή με τη σειρά που εισήχθησαν. 
-  * να διαβαστούν από ένα αρχείο ή από μία σειριακή συσκευή με τη σειρά που είναι αποθηκευμένοι ή με τη σειρά που εισήχθησαν στη συσκευή. 
- 
-Βασικά χαρακτηριστικά των //streams// είναι τα εξής: 
-  - Ένα //stream// μεταφράζεται πάντα σε μία ακολουθία χαρακτήρων. Τα //streams// δίνουν ένα ενιαίο τρόπο γραφής και ανάγνωσης προς τα αντικείμενα που τα χρησιμοποιούν για οποιοδήποτε μέσο επικοινωνίας ή αποθήκευσης. Εάν μία κλάση μπορεί να γράψει σε ένα //stream// τότε μπορεί να γράψει σε όλα τα πιθανά //streams//. 
-  - Τα //streams// δουλεύουν αυτόματα με τους βασικούς τύπους δεδομένων. Για τους αναφορικούς τύπους μπορείτε να υπερφορτώσετε τους τελεστές %%>>%% και %%<<%% για είσοδο από το //stream// και έξοδο προς το //stream// αντίστοιχα. Η χρήση των τελεστών %%>>%% και %%<<%% απλοποιεί εξαιρετικά τον κώδικα για να γράψουμε σε ένα //stream// ή να διαβάσουμε από αυτό. 
- 
- 
-Μπορείτε να σκέφτεστε τα //streams// ως ακολουθίες χαρακτήρων θεωρητικά άπειρου μεγέθους. Ένα //stream// μπορεί να είναι: 
-  * **//stream// εισόδου:**, μπορεί να χρησιμοποιηθεί για ανάγνωση από μία πηγή (π.χ. //stdin//, αρχείο, απομακρυσμένο αρχείο σε άλλο υπολογιστή) 
-  * **//stream// εξόδου:**, μπορεί να χρησιμοποιηθεί για εγγραφή σε ένα προορισμό (π.χ. //stdout//, αρχείο στο σκληρό δίσκο, απομακρυσμένο αρχείο).  
-  * **//stream// εισόδου και εξόδου:** Μπορεί να χρησιμοποιηθεί ταυτόχρονα και για τις δύο παραπάνω λειτουργίες. 
- 
-===== Standard Streams ===== 
- 
-H C++ έρχεται με μία σειρά από //standard streams//, τα οποία είναι τα εξής: 
-  * **std::cin:** Stream για διάβασμα από το πληκτρολόγιο (//stdin//). 
-  * **std::cout:** Stream για γράψιμο στο //stdout//. 
-  * **std::cerr:** Stream για γράψιμο στο //stderr//. To συγκεκριμένο stream είναι unbuffered. 
-  * **std::clog:** Stream για γράψιμο στο //stderr//. To συγκεκριμένο stream είναι buffered. 
- 
- 
-===== Παράδειγμα χρήσης stream ===== 
- 
-<code cpp ReadHeight.cpp> 
-#include <iostream> 
-using namespace std; 
- 
-int main() { 
-  double height; 
- 
-  do { 
-    cout << "Enter your height (in meters): "; 
-    cin >> height; 
-  
-    if(height > 0) 
-      break; 
-       
-    cerr << "Invalid height. Try again..." << endl; 
-  } while(true); 
-   
-  cout << "You height is: " << height << " meters." << endl; 
-} 
-</code> 
cpp/streams.txt · Last modified: 2020/05/17 16:53 (external edit)