Chcę wiedzieć, jaka jest różnica między ciągiem i strumieniem w języku C++ i czym jest stringstream?Co to są klasy "string", "stream" i "stringstream" w C++?
Odpowiedz
Bardzo nieformalnie: ciąg jest zbiorem znaków, strumień jest narzędziem do manipulowania ruchomymi danymi. Strumień ciągów jest klasą C++, która umożliwia użycie ciągu znaków jako źródła i miejsca docelowego danych dla strumienia.
Również ... google to twój przyjaciel.
Domyślam się, że strumień łańcuchowy jest podobny do iostream, ale zamiast pisać lub czytać z pliku, zapisujesz lub czytasz z łańcucha.
istream
iostream
: interfejsy do przesyłania strumienia danych (pliki, gniazda, itp)istringstream
: ANistream
że owija ciąg i oferuje jej zawartośćostringstream
: ANostream
który zapisuje zawartość do pisemnego jest w postaci łańcucha
przykład:
istringstream datastream("1 2 3");
int val;
datastream >> val;
cout << val << endl; // prints 1
datastream >> val;
cout << val << endl; // prints 2
datastream >> val;
cout << val << endl; // prints 3
ostringstream outstream;
outstream << 1 << "+" << 2 << "=" << 3;
cout << outstream.str() << endl; // prints "1+2=3"
W języku C i/lub Uniksie podstawową metaforą był plik. Standardowe, standardowe w gniazdach sieciowych były reprezentowane za pomocą deskryptorów plików. W ten sposób można użyć fprintf()
, aby pisać do tych "plików", nie wiedząc, co naprawdę jest pod spodem.
Jako bezpieczniejsza i zimniejsza alternatywa, C++ zaprezentowało iostream jako podstawową metaforę, która jest prawie wbudowana w język przy użyciu operatora <<
. Znowu dostęp do plików, łańcuchów i (z biblioteką) sieci można uzyskać za pomocą strumieni, nie wiedząc, co to jest.
- 1. String to float using stringstream
- 2. memorystream - stringstream, string, others?
- 3. Co to są klasy S1 i S2?
- 4. Co to są klasy encji w php
- 5. Co to są `+:` i `-:`?
- 6. Jak używać mojej klasy logowania jak std C++ stream?
- 7. Co to są końcowe klasy wewnętrzne?
- 8. gdzie są zdefiniowane klasy int [] i string []?
- 9. C++ serializacja boost z stringstream
- 10. Co to są generics w C#?
- 11. Co to jest Haskell Stream Fusion
- 12. Różnica stringstream i ostringstream
- 13. Co to są: + i &: + w Ruby?
- 14. Co to są pojęcia?
- 15. Co to jest "String ..." w języku Java?
- 16. String Octet: co to jest?
- 17. Co to są ograniczone szablony?
- 18. Co to są RFC?
- 19. Co to są czyste zmienne?
- 20. Co to są Iteratory SCARY?
- 21. Czy Java ma odpowiednik StringStream?
- 22. std :: stringstream i metoda str
- 23. Co to są pola syntetyczne w Javie?
- 24. Co to są fortuny?
- 25. Co to są ReservedCodeCacheSize i InitialCodeCacheSize?
- 26. Co to są bity niższe i wyższe?
- 27. C# DateTime to String Issue
- 28. Co to są sygnały i gniazda?
- 29. Co to są funkcje __defineGetter __() i __defineSetter __()?
- 30. Co to są CoreDataGeneratedAccessors?
Stackoverflow ma być zasobem typu wiki, znajdującym się na szczycie wielu wyszukiwań Google. Ludzie mogą zadawać dowolne pytania, jeśli wcześniej ich nie zadano. – fluffels