User Tools

Site Tools


cpp:basic_io

Differences

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

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
cpp:basic_io [2017/05/03 05:09] – created gthanoscpp:basic_io [2017/05/03 05:34] – [std::cout] gthanos
Line 4: Line 4:
  
 Η //standard// βιβλιοθήκη της C++ ορίζει τα παρακάτω τέσσερα (4) streams σε κάθε πρόγραμμα: Η //standard// βιβλιοθήκη της C++ ορίζει τα παρακάτω τέσσερα (4) streams σε κάθε πρόγραμμα:
-|  std::cin  | standard input stream  |   +|  <code cpp>std::cin</code>  | standard input stream  |   
-|  std::cout  | standard output stream +|  <code cpp>td::cout</code>  | standard output stream 
-|  std::cerr  | standard error stream +|  <code cpp>std::cerr</code>  | standard error stream 
-|  std::clog  | standard log stream  |+|  <code cpp>std::clog</code>  | standard log stream  |
  
-=== std::cout ===+==== std::cout ====
  
-Το //stream// **std::cout** είναι αντικείμενο της κλάσης //**ostream**// και συνδέεται με τη //standard// έξοδο του προγράμματος. Το αντικείμενο χρησιμοποιείται σε συνδυασμό με τον τελεστή **<<** (//stream insertion operator//). Δείτε το παρακάτω παράδειγμα χρήσης του //stream// **std::cout**.+Το //stream// **std::cout** είναι αντικείμενο της κλάσης //**ostream**// και συνδέεται με τη //standard// έξοδο του προγράμματος. Το αντικείμενο χρησιμοποιείται σε συνδυασμό με τον τελεστή **%%<<%%** (//stream insertion operator//). Δείτε το παρακάτω παράδειγμα χρήσης του //stream// **std::cout**.
  
 <code cpp cout.cpp> <code cpp cout.cpp>
-using <iostream>+#include <iostream>
 using namespace std; using namespace std;
 int main() { int main() {
Line 21: Line 21:
 </code> </code>
  
 +<WRAP tip 80% center round>
 +Βασικό χαρακτηριστικό των streams είναι ότι μπορείτε να εισάγετε στο stream ή να εξάγετε από το stream περισσότερες από μία ροές χαρακτήρων όπως δηλώνεται παραπάνω.
 +</WRAP>
  
 +Το παραπάνω είναι ισοδύναμο με το εξής:
 +
 +<code cpp cout.cpp>
 +#include <iostream>
 +using namespace std;
 +int main() {
 +  cout << "Hello " ;
 +  cout << "World!" ;
 +  cout << endl;
 +}
 +</code>
  
 <WRAP tip 80% center round> <WRAP tip 80% center round>
-Βασικό χαρακτηριστικό των streams είναι ότι μπορείτε να εισάγετε στο stream ή να εξάγετε από το stream περισσότερες από μία ροές χαρακτήρων σε μία κλήση.+Παρατηρείτε ότι αν και το //stream// ορίστηκε ως **std::cout** στο πρόγραμμα αναγράφεται ως **cout**. Ο λόγος είναι η 2η γραμμή του προγράμματος ''using namespace std;'', η οποία δηλώνει ότι το πρόγραμμα χρησιμοποιεί το **namespace std**.
 </WRAP> </WRAP>
  
-=== std::cin ===+==== std::cin ====
  
-Το //stream// **std::cin** είναι αντικείμενο της κλάσης //**istream**// και συνδέεται με τη //standard// είσοδο του προγράμματος. Το αντικείμενο χρησιμοποιείται σε συνδυασμό με τον τελεστή **>>** (s//tream extraction operator//). Δείτε το παρακάτω παράδειγμα χρήσης του //stream// **std::cin**.+Το //stream// **std::cin** είναι αντικείμενο της κλάσης //**istream**// και συνδέεται με τη //standard// είσοδο του προγράμματος. Το αντικείμενο χρησιμοποιείται σε συνδυασμό με τον τελεστή %%>>%% (//stream extraction operator//). Δείτε το παρακάτω παράδειγμα χρήσης του //stream// **std::cin**.
  
 Χαρακτηριστικό του **std::cin** είναι ότι διαβάζει λέξη-λέξη. Εάν θέλετε να διαβάσετε περισσότερες από μία λέξεις θα πρέπει να επαναλάβετε την κλάση όπως του cin, όπως παρακάτω: Χαρακτηριστικό του **std::cin** είναι ότι διαβάζει λέξη-λέξη. Εάν θέλετε να διαβάσετε περισσότερες από μία λέξεις θα πρέπει να επαναλάβετε την κλάση όπως του cin, όπως παρακάτω:
  
 <code cpp cin.cpp> <code cpp cin.cpp>
-using <iostream>+#include <iostream>
 using namespace std; using namespace std;
 int main() { int main() {
Line 40: Line 54:
   cout << "Enter your first name followed by your last name: ";   cout << "Enter your first name followed by your last name: ";
   cin >> firstname >> lastname;   cin >> firstname >> lastname;
-  cout << "Your name is: << firstname << " " << lastname << endl;+  cout << "Your name is: << firstname << " " << lastname << endl;
 } }
 </code> </code>
Line 46: Line 60:
 Το παραπάνω είναι ισοδύναμο με δύο διακριτές κλήσεις του std::cin ως εξής: Το παραπάνω είναι ισοδύναμο με δύο διακριτές κλήσεις του std::cin ως εξής:
  
 +<code cpp cin.cpp>
 +#include <iostream>
 +using namespace std;
 +int main() {
 +  char firstname[50], lastname[50];
 +  cout << "Enter your first name followed by your last name: ";
 +  cin >> firstname;
 +  cin >> lastname;
 +  cout << "Your name is: " << firstname << " " << lastname << endl;
 +}
 +</code>
 +
 +
 +==== std::cerr ====
 +
 +Το //stream// **std::cerr** είναι αντικείμενο της κλάσης //**ostream**// και συνδέεται με τη //standard error// του προγράμματος. Το αντικείμενο χρησιμοποιείται σε συνδυασμό με τον τελεστή ''<<'' (//stream insertion operator//). Το //stream// **std::cerr** είναι //unbuffered//, δηλαδή εμφανίζεται στην οθόνη χωρίς καθυστέρηση καθώς δεν μεσολαβεί κάποιο //buffer//. Δείτε το παρακάτω παράδειγμα χρήσης του //stream// **std::cerr**.
 +
 +<code cpp cerr.cpp>
 +#include <iostream>
 +using namespace std;
 +int main() {
 +  cout << "Hello " << "World!"
 +  cerr << "My " << "error log" << endl;
 +}
 +</code>
  
-=== std::cerr ===+==== std::clog ====
  
-=== std::clog ===+Ανάλογο με το //stream// **std::cerr** με τη διαφορά ότι το συγκεκριμένο //stream// είναι //buffered//.
  
  
  
  
cpp/basic_io.txt · Last modified: 2021/04/25 14:14 (external edit)