cpp:isteams
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
cpp:isteams [2019/05/14 12:48] – created gthanos | cpp:isteams [Unknown date] (current) – external edit (Unknown date) 127.0.0.1 | ||
---|---|---|---|
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 << endl; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Το παραπάνω παράδειγμα για να δουλέψει με ασφάλεια θα πρέπει να είμαστε σίγουροι ότι η λέξη μέγιστου μήκους που θα διαβάσουμε θα έχει μέγεθος 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 << | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ |
cpp/isteams.1557838136.txt.gz · Last modified: 2019/05/14 11:48 (external edit)