This shows you the differences between two versions of the page.
| Next revision | Previous revision Next revision Both sides next revision | ||
|
cpp:isteams [2019/05/14 12:48] gthanos created |
cpp:isteams [2020/05/17 17:55] gthanos |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Input Streams ====== | ====== Input Streams ====== | ||
| - | Όπως προαναφέρθηκε τα //streams// εισόδου χρησιμοποιούν τον τελεστη | + | Όπως προαναφέρθηκε τα //streams// εισόδου χρησιμοποιούν τον τελεστη |
| <code cpp istream_example.cpp> | <code cpp istream_example.cpp> | ||
| #include < | #include < | ||
| - | #include < | ||
| using namespace std; | using namespace std; | ||
| Line 32: | Line 31: | ||
| Read: 1.63 | Read: 1.63 | ||
| </ | </ | ||
| + | |||
| + | Παρατηρήστε ότι από την πρώτη κλήση διαβάζεται ένας χαρακτήρας, | ||
| + | |||
| + | ====== Διαβάζοντας λέξη-λέξη ή γραμμή-γραμμή ====== | ||
| + | |||
| + | Εάν πρόκειται να διαβάσουμε ένα κείμενο, | ||
| + | |||
| + | <code cpp input_word.cpp> | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | using namespace std; | ||
| + | |||
| + | int main() { | ||
| + | char str[256]; | ||
| + | while(!cin.eof()) { | ||
| + | cin >> str; | ||
| + | cout << str << " "; | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Το παραπάνω παράδειγμα για να δουλέψει με ασφάλεια θα πρέπει να είμαστε σίγουροι ότι η λέξη μέγιστου μήκους που θα διαβάσουμε θα έχει μέγεθος 255 χαρακτήρες (συν το χαρκτήρα ' | ||
| + | |||
| + | <code cpp input_line.cpp> | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | using namespace std; | ||
| + | |||
| + | int main() { | ||
| + | char str[256]; | ||
| + | while(!cin.eof()) { | ||
| + | // Read a line of maximum size 255 bytes. | ||
| + | cin.getline(str, | ||
| + | cout << str << | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Σε αυτή την περίπτωση θα πρέπει να είμαστε σίγουροι ότι το μέγιστο μήκος γραμμής δεν υπερβαίνει τους 256 χαρακτήρες μαζί με τον χαρακτήρα αλλαγής γραμμής. Διαφορετικά, | ||
| + | |||
| + | Το παραπάνω δεν ισχύει εάν χρησιμοποιήσουμε την έκδοση της //getline// για την κλάση '' | ||
| + | |||
| + | <code cpp tokenize_using_std_string.cpp> | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | using namespace std; | ||
| + | |||
| + | int main() { | ||
| + | string str; | ||
| + | while(!cin.eof()) { | ||
| + | getline(cin, | ||
| + | cout << str << | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||