This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
cpp:isteams [2019/05/21 04:13] gthanos [Διαβάζοντας λέξη-λέξη ή γραμμή-γραμμή] |
cpp:isteams [2020/05/17 17:11] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Input Streams ====== | ||
| - | |||
| - | Όπως προαναφέρθηκε τα //streams// εισόδου χρησιμοποιούν τον τελεστη ''<<'' | ||
| - | |||
| - | <code cpp istream_example.cpp> | ||
| - | #include < | ||
| - | #include < | ||
| - | |||
| - | using namespace std; | ||
| - | |||
| - | int main() { | ||
| - | char c, str[256]; | ||
| - | int number; | ||
| - | double factor; | ||
| - | | ||
| - | cin >> c; | ||
| - | cout << "Read: " << c << endl; | ||
| - | cin >> str; | ||
| - | cout << "Read: " << str << endl; | ||
| - | cin >> number; | ||
| - | cout << "Read: " << number << endl; | ||
| - | cin >> factor; | ||
| - | cout << "Read: " << factor << endl; | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | Για είσόδο '' | ||
| - | < | ||
| - | Read: h | ||
| - | Read: ello | ||
| - | Read: -1512 | ||
| - | 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// για την κλάση std:: | ||
| - | |||
| - | <code cpp tokenize_using_std_string.cpp> | ||
| - | #include < | ||
| - | #include < | ||
| - | |||
| - | using namespace std; | ||
| - | |||
| - | int main() { | ||
| - | string str; | ||
| - | while(!cin.eof()) { | ||
| - | getline(cin, | ||
| - | cout << str << | ||
| - | } | ||
| - | } | ||
| - | </ | ||