C++에서 sprintf 같은 형식으로 문자열 생성하는것

std::string 을 쓸때 CString 에서 처럼 Format(“%d”, 100 ) 이런 코드를 작성하지 못해서 좀 난감해 하고 있었는데

[CODE]cout<<100<<“하하”<<endl;[/CODE]
이런 코드를 생각해 볼때
iostream 쪽을 상속받아서 위의 sprintf 같이 문자열을 생성해내는 클래스가 분명히 있을거라 생각해서 이것저것 뒤져보니 stringstream 이라는 클래스가 있었다.
예제 코드는

[CODE]
#include <iostream>
#include <string>
#include <sstream>

using std::string;
using std::cout;
using std::endl;
using std::ostream;
using std::stringstream;

int main()
{
int interger = 10;
double doublevalue = 213.33;
string tmp = “yoway”;

string str;
stringstream stream(stringstream::in | stringstream::out);
stream<<interger<<“, “<<doublevalue<<“, “<<tmp;
str = stream.str();
cout<<str<<endl;

return 0;
}
[/CODE]

아마 cout 쓸때 서식지정하는 방법과 동일하게 stringstream 도 사용할수 있을듯…

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다