[C++] istrstream - jaki ma tryb ios

Odpowiedz Nowy wątek
2006-07-30 21:41
0

Witam,

krótkie pytanie: czy ktoś wie jaki to cholerstwo - istrstream, ma tryb odczytywania danych? Przy tworzeniu strumienia podawane są tylko dwa parametry:
istrstream(char *, int)
Głównie chodzi mi o ios::binary - coś mi się wydaje, że nie jest binarnie. Mam rację? I czy po napotkaniu kilku bajtów zerowych on się czasem nie zamyka??

Pozostało 580 znaków

2006-07-30 22:41
0

http://www.cppreference.com/cppsstream/constructors.html

No jak to jaki? Tekstowy chyba, że podasz ios::binary. Jeśli masz jakiś kod z którym masz problem, to wklej go.


Pozdrawia DzieX

int getRandomNumber() { return 4; }

Pozostało 580 znaków

2006-07-31 09:49
0

Nie chodzi mi o iSTRINGstream tylko o przed standardowy iSTRstream. Trochę to obadałem i wychodzi na to, że jest jednak w trybie binarnym.
Robiłem to po staremu, bo nie wiedziałem, że iSTRINGstream przyjmuje tryb. Nie doczytałem się TAKIEJ informacji w książce :-[
Zobaczymy ja pójdzie jak zastosuje stringi.

Pozostało 580 znaków

2006-07-31 11:01
Ne03
0

plik.open("test.txt", ios::in);

? ios::out - tryb dla pliku przeznaczonego do zapisu, dotyczy strumieni 'fstream' i 'ofstream'.
? ios::ate - otwarcie pliku w taki sposób, że specjalny wskaźnik pozycjonowania (zajmiemy się nim w następnym odcinku) ustawiany jest na koniec pliku.
? ios::app - otwarcie pliku w trybie dołączania do istniejącej zawartości, każdy zapis będzie polegał na "doczepieniu" nowych danych do już istniejących.
? ios::trunc - otworzenie pliku w tym trybie spowoduje odrzucenie zawartości pliku. Wszystkie zapisane poprzednio dane zostaną utracone, tak jakby plik został stworzony od nowa.
? ios::nocreate - jeśli nie istnieje plik o podanej nazwie, nie zostanie podjęta próba utworzenia nowego pliku. Flaga ios::nocreate powoduje otwarcie tylko istniejących plików, w przeciwnym wypadku operacja się nie uda.
? ios::noreplace - otwórz tylko gdy nie istnieje plik o danej nazwie, w przeciwnym wypadku - błąd.
? ios::binary - otwórz plik w trybie binarnym (nie dotyczy Uniksa). Powoduje, że nie zachodzi domyślna konwersja znaków "\r" i "\n" na pojedynczy "\n" podczas czytania i odwrotnie.

Pozostało 580 znaków

2006-07-31 19:20
0

Dobra, działa z istringstream'em.
Ne03 - tryby to ja znam :)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0