This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
|
cpp:basic_io [2017/05/03 05:12] gthanos |
cpp:basic_io [2020/02/28 08:13] gthanos |
||
|---|---|---|---|
| Line 9: | Line 9: | ||
| | <code cpp> | | <code cpp> | ||
| - | ==== std::cout ==== | + | ===== std:: |
| - | Το //stream// **std:: | + | Το //stream// **std:: |
| <code cpp cout.cpp> | <code cpp cout.cpp> | ||
| - | using < | + | # |
| using namespace std; | using namespace std; | ||
| int main() { | int main() { | ||
| - | cout << "Hello " << " | + | cout << "Hello " << " |
| } | } | ||
| </ | </ | ||
| + | |||
| + | <WRAP tip 80% center round> | ||
| + | Βασικό χαρακτηριστικό των streams είναι ότι μπορείτε να εισάγετε στο stream ή να εξάγετε από το stream περισσότερες από μία ροές χαρακτήρων όπως δηλώνεται παραπάνω. | ||
| + | </ | ||
| Το παραπάνω είναι ισοδύναμο με το εξής: | Το παραπάνω είναι ισοδύναμο με το εξής: | ||
| <code cpp cout.cpp> | <code cpp cout.cpp> | ||
| - | using < | + | # |
| using namespace std; | using namespace std; | ||
| int main() { | int main() { | ||
| cout << "Hello " ; | cout << "Hello " ; | ||
| - | cout << " | + | cout << " |
| cout << endl; | cout << endl; | ||
| } | } | ||
| Line 34: | Line 38: | ||
| <WRAP tip 80% center round> | <WRAP tip 80% center round> | ||
| - | Βασικό χαρακτηριστικό των streams είναι | + | Παρατηρείτε ότι αν και το // |
| </ | </ | ||
| - | ==== std::cin ==== | + | ===== std:: |
| - | Το //stream// **std:: | + | Το //stream// **std:: |
| Χαρακτηριστικό του **std:: | Χαρακτηριστικό του **std:: | ||
| <code cpp cin.cpp> | <code cpp cin.cpp> | ||
| - | using < | + | # |
| using namespace std; | using namespace std; | ||
| int main() { | int main() { | ||
| Line 50: | 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: " |
| + | int age; | ||
| + | count << "Enter your age:"; | ||
| + | cin >> age; | ||
| + | cout << "Your age is: " << age << endl; | ||
| } | } | ||
| </ | </ | ||
| - | Το παραπάνω είναι ισοδύναμο με δύο διακριτές κλήσεις του std::cin ως εξής: | + | <WRAP tip 80% center round> |
| + | Το std::cin μετασχηματίζει τη λέξη που διάβασε στον τύπο δεδομένων της μεταβλητής στην οποία θα αποθηκευτεί η πληροφορία. | ||
| + | Για παράδειγμα, | ||
| + | |||
| + | Επίσης η εντολή | ||
| + | <code cpp> | ||
| + | cin >> firstname >> lastname; | ||
| + | </ | ||
| + | είναι ισοδύναμη με τις παρακάτω δύο εντολές | ||
| + | <code cpp> | ||
| + | cin >> firstname; | ||
| + | cin >> lastname; | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | |||
| + | Το παραπάνω είναι ισοδύναμο με δύο διακριτές κλήσεις του **std:: | ||
| + | </ | ||
| + | Το παραπάνω είναι ισοδύναμο με δύο διακριτές κλήσεις του | ||
| <code cpp cin.cpp> | <code cpp cin.cpp> | ||
| - | using < | + | # |
| using namespace std; | using namespace std; | ||
| int main() { | int main() { | ||
| Line 64: | Line 90: | ||
| cin >> firstname; | cin >> firstname; | ||
| cin >> lastname; | cin >> lastname; | ||
| - | cout << "Your name is: << firstname << " " << lastname << endl; | + | cout << "Your name is: " |
| + | int age; | ||
| + | count << "Enter your age:"; | ||
| + | cin >> age; | ||
| + | cout << "Your age is: " << age << endl; | ||
| } | } | ||
| </ | </ | ||
| - | ==== std::cerr ==== | + | ===== std:: |
| + | |||
| + | Το //stream// **std:: | ||
| + | |||
| + | <code cpp cerr.cpp> | ||
| + | #include < | ||
| + | using namespace std; | ||
| + | int main() { | ||
| + | cout << "Hello " << " | ||
| + | cerr << "My " << "error log" << endl; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== std::clog ===== | ||
| - | ==== std::clog ==== | + | Ανάλογο με το //stream// **std::cerr** με τη διαφορά ότι το συγκεκριμένο //stream// είναι // |