[Megoldva] Stream átirányítása stringbe

 ( pelz | 2008. október 25., szombat - 10:29 )

Adott ez az egyszerű program:

#include 

using namespace std;

int main() {

  int number;

  cout << "Adj meg egy decimalis szamot: ";
  cin >> number;
  cout << "a szam hexadecimalis erteke = 0x"
       << hex << number << "\n";

  return 0;
}

Hogy lehetne a képernyőn megjelenő hexadecimális számot egy stringbe irányítani? Tehát azt szeretném, hogy az átváltás eredménye ne a képernyőn, hanem a strinben jelenjen meg.

Előre is köszönöm!

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Ezt próbáltam. Lefordul, de nem működik.

#include iostream
#include string
#include sstream

using namespace std;

int main() {

    int number;
    string str;

    cout << "Adj meg egy decimalis szamot: ";
    cin >> number;
    cout << "a szam oktalis erteke = 0"
         << oct << number << "\n";

    stringstream(str) << hex << number;

    cout << "a szam hexadecimalis erteke = 0x"
         << str << "\n";

    return 0;
}

Az include-oknál kihagytam a kacsacsőröket, mert nem jelentek meg a benne lévő szövegrészek.

Talan el is kene olvasni a konstruktor dokumentaciojat...

str
string object to be copied as the initial value for the internal buffer string.

----------------------
"ONE OF THESE DAYS I'M GOING TO CUT YOU INTO LITTLE PIECES!!!$E$%#$#%^*^"

Neked is:

#include &lt; stdio.h &gt; = #include < stdio.h >

--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

http://www.cplusplus.com/reference/iostream/ostringstream/str.html

#include <iostream>
#include <sstream>
#include <string>

using namespace std;

int main () {
  ostringstream oss;
  string mystr;

  oss << "Sample string";
  mystr=oss.str();

  cout << mystr;

  return 0;
}

Nagyon szépen köszönöm "zamboriz"! Így már OK.

#include <iostream>
#include <string>
#include <sstream>

using namespace std;

int main() {

	int number;
	ostringstream oss;
	string mystr;

	cout << "Adj meg egy decimalis szamot: ";
	cin >> number;
	cout << "a szam oktalis erteke = 0"
		 << oct << number << "\n";
	oss << hex << number;
	mystr = oss.str();
	cout << "a szam hexadecimalis erteke = 0x"
		 << mystr << "\n";
		 
	return 0;
}