Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

pojęcie strumienia w C ++, czy ktoś mi to wyjaśni

Ostatnio zmodyfikowano 2010-01-10 10:34
Autor Wiadomość
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 ?




P-12831
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.
P-12832
Elaine
» 2010-01-09 15:00:37
W buforze strumienia będzie " Kowalski"...
P-12841
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?

  
 
P-12847
Elaine
» 2010-01-09 19:09:04
Nie istnieje takie pojęcie jak "wysyłanie strumienia", jest odczytywanie danych ze strumienia.
P-12850
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"?
P-12859
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).
P-12860
marek
Temat założony przez niniejszego użytkownika
» 2010-01-10 10:34:27
Dzięki f.a.l. (√ιק). Pomogłeś mi.
P-12873
« 1 »
  Strona 1 z 1