• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

strumien ios_base

Object Storage Arubacloud
0 głosów
199 wizyt
pytanie zadane 23 czerwca 2019 w C i C++ przez niezalogowany
edycja 23 czerwca 2019 przez draghan

Chciałem przećwiczyć dodatkowe funkcje strumienia (świeżo zdobyta wiedza, to  ich nie ma)

I pytanie czy taki program w ogóle ma coś wspólnego z sensem i ile znaków pomieści strumień

#include <iostream>
#include <sstream>

using namespace std;

void getput (istream & in, ostream & ou)
{
 char a=' ';
 while (a!='\n'&&(a= in.get())) ;
 //..... nowe funkcje 
  ou.put(a);
}
int main(){
stringstream sstr;
string str;
//getput (cin,cout); // nie działa czy to błąd logiczny, czy jest tylko '\n'?
getput (cin,sstr); // nie działa czy to błąd logiczny, czy jest tylko '\n'?
sstr>>str;
cout<<str;
    return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 23 czerwca 2019 przez j23 Mędrzec (194,920 p.)

// nie działa czy to błąd logiczny, czy jest tylko '\n'?

A czego oczekiwałeś, skoro pętla w getput czyta wszystkie znaki do napotkania \n i ów znak wpycha do strumienia wyjściowego?

komentarz 23 czerwca 2019 przez niezalogowany
jak się wcześniej bawiłem to dopóki działał cin>> petli to nie działało cout<< po skończonym działaniu cin w  do roboty ruszało cout  i wszystko co tam było to co trzeba.
komentarz 23 czerwca 2019 przez j23 Mędrzec (194,920 p.)
Nie wiem, co tam wcześniej robiłeś, ale powyższy kod działa tak, jak go napisałeś, czyli wstawia do strumienia wyjściowego jedynie znak końca linii.
komentarz 23 czerwca 2019 przez niezalogowany
edycja 23 czerwca 2019
ok dzięki po usunięciu średnika tak samo?

Czyli program nie ma sensu.

A jak by to była funkcja klasy ostream, to ma sens?

Chodzi mi oto by zapisywać tylko potrzebne dane w programie a nie cały string i dopiero później go obrabiać. Przy okazji podćwiczył bym dodatkowe funkcje ios_base.

Nie chcę rozwiązania, bo to akurat zagadka dla zabawy, a nie konkretny cel. Tylko czy dalej można podążać tym tropem czy sobie odpuścić i obrobić string [TAK/NIE]?.

Choć myślę, że znalazł bym wiele rozwiązań praktycznych. Jak mi tylko motywacja wróci.
komentarz 23 czerwca 2019 przez j23 Mędrzec (194,920 p.)
edycja 23 czerwca 2019 przez j23

Chodzi mi oto by zapisywać tylko potrzebne dane w programie a nie cały string

To może niech w tym stringu będą potrzebne dane i wtedy będziesz mógł zapisywać "cały string" bez zbędnych komplikacji.

 

Bez konkretów ciężko odpowiadać na te twoje pytania. Musisz napisać, co konkretnie chcesz zrobić, wtedy można będzie ocenić, czy coś tam ma sens czy też nie.

komentarz 23 czerwca 2019 przez niezalogowany
edycja 23 czerwca 2019
na forum przeczytałem zadanie ze spoja, a że przeglądałem trochę strumienie to pomyślałem, że warto utrwalić wiedzę. I pokombinować jak to można wykorzystać w praktyce. Czyli zwrócić string? Ale to nie będzie "sexsi". Bo w środku pliku nie da się dodać danych chyba tylko trzeba przekopiować plik chyba?

A binarnie też trzeba przekopiowywać np a=50; zamiana na int a = 20000;?
komentarz 23 czerwca 2019 przez j23 Mędrzec (194,920 p.)
Tak. Jeśli chcesz zmieniać zawartość pliku, to najbezpieczniej jest zrobić nową wersję pliku (chyba że dopisujesz coś na jego koniec).
komentarz 23 czerwca 2019 przez niezalogowany
np coś obliczyłem ale mi jeden warunek nie przeszedł i muszę pozmieniać jeden parametr to muszę cały plik przekopiować?
komentarz 23 czerwca 2019 przez j23 Mędrzec (194,920 p.)
Na ogół tak.
komentarz 23 czerwca 2019 przez niezalogowany
to mnie zmartwiłeś, ale i tak dzięki za twój poświęcony czas dla mnie.

Podobne pytania

0 głosów
1 odpowiedź 405 wizyt
pytanie zadane 1 lipca 2018 w C i C++ przez qlucha Obywatel (1,790 p.)
+1 głos
1 odpowiedź 988 wizyt
pytanie zadane 2 października 2017 w JavaScript przez emczek Nowicjusz (190 p.)
0 głosów
1 odpowiedź 105 wizyt
pytanie zadane 4 listopada 2015 w C i C++ przez Benek Szeryf (91,010 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...