pojęcie strumienia w C ++, czy ktoś mi to wyjaśni
Ostatnio zmodyfikowano 2010-01-10 10:34
marek Temat założony przez niniejszego użytkownika |
pojęcie strumienia w C ++, czy ktoś mi to wyjaśni » 2010-01-09 10:37:45 Trochę mi się kitłaszą pojęcia "strumień" i "zmienna" do której strumień coś wpisuje.
W związku tym mam pytanie.
Biorąc pod uwagę niżej wymienione zdanie autorów kursu (rozdział 7)
"Kolejną sprawą, jaka jest ważna podkreślenia to wczytywanie danych za pomocą strumienia cin. Strumień ma to do siebie, że wczytuje dane do zmiennej, aż do napotkania białego znaku."
oraz kawałek programu
"cin >> ciag_znak; cout << "Nazywasz sie: " << ciag_znak"
Pytanie
Wpisuję na klawiaturze 2 słowa ze spacją "Jan Kowalski" i kończę "enter"
Wiem że w zmiennej "ciag_znak" będzie "Jan" A co będzie w strumieniu ?
|
|
GoldWolf |
» 2010-01-09 10:58:41 Dokładnie to samo czyli "Jan", ponieważ to właśnie strumień ucina resztę.
Zmienna to jest powiedzmy sobie taka pusta szafa, do której można coś wrzucić, ale co tam wrzucisz to już zależy od Ciebie. |
|
Elaine |
» 2010-01-09 15:00:37 W buforze strumienia będzie " Kowalski"... |
|
marek Temat założony przez niniejszego użytkownika |
Moje dumania nad strumieniem w trakcie pisania na klawiaturze tekstu "Jan Kowalski". Czy dobrze kumam? » 2010-01-09 18:33:46 Program doszedł do miejsca cin >> ciag_znak i czeka na kolejne wciśnięcia klawiszy klawiatury
1. Piszę "J" - znak "J" wpada do bufora strumienia. Teraz w buforze strumienia będzie "J" 2. Piszę "a" - znak "a" wpada do bufora strumienia. Teraz w buforze strumienia będzie "Ja" itd ... 12 Piszę "i" - znak "i" wpada do bufora strumienia. Teraz w buforze strumienia będzie "Jan Kowalski"
Do tej pory chyba nie mamy do czynienia ze strumieniem. Raczej z 12 "malutkimi jednoznakowymi strumyczkami"
13.Piszę "enter" - znak "enter" wpada do bufora strumienia. Teraz w buforze strumienia będzie "Jan KowalskiENTER" Oprogramowanie wykrywa w buforze strumienia ENTER, wysyła strumień "Jan" zapełniając kolejne komórki pamięci o nazwie ciag_znak znakami "Jan" . 14.Oprogramowanie wykrywa spację i przerywa wysyłanie strumienia. W buforze strumienia pozostanie " Kowalski" ( ze spacją). Myślę że Dante pisząc, że w strumieniu jest "Jan", miał na myśli ten krótki kilkumikrosekundowy proces przesyłania znków "Jan". I zastosował skrót myślowy pisząc że strumień (który dawno już minął, czyli jako taki już nie istnieje) i zmienna "ciag_znak" będą zawierać "Jan". Oczywiście w buforze strumienia pozostanie "Kowalski" (a może " Kowalski" ze spacją?) Wybaczcie mi rozważania małego Kazia po dużym piwie. Czy jest w tym coś na rzeczy? Przy okazji. Czy znak ENTER będzie w buforze strumienia? A w strumieniu?
|
|
Elaine |
» 2010-01-09 19:09:04 Nie istnieje takie pojęcie jak "wysyłanie strumienia", jest odczytywanie danych ze strumienia. |
|
marek Temat założony przez niniejszego użytkownika |
» 2010-01-09 21:15:51 Pytanie do Fala "Nie istnieje takie pojęcie jak "wysyłanie strumienia", jest odczytywanie danych ze strumienia"
Czy "odczytywanie danych ze strumienia" to jest to samo co "odczytywanie danych z bufora strumienia"?
|
|
Elaine |
» 2010-01-09 22:23:53 W sumie to nie, bo ze strumienia można odczytać dane, których w buforze nie ma (bo się nie zmieściły lub buforowanie jest wyłączone)... Ale z punktu widzenia twojego kodu to na jedno wychodzi, więc możesz sobie tak to tłumaczyć.
Nie jestem żaden Fal, tylko f.a.l. (można all-capsem). |
|
marek Temat założony przez niniejszego użytkownika |
» 2010-01-10 10:34:27 Dzięki f.a.l. (√ιק). Pomogłeś mi. |
|
« 1 » |