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

Fórumok

Adott ez az egyszerű program:


#include <iostream>

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ások

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.

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;
}