0
ostream을 사용하는 매개 변수에 문자열 스트림을 전달할 수 있습니다. 그 후 str() funktion에 의해 stringstream 내부에 설정된 텍스트를 얻을 수 있습니다.
#include <sstream>
...
{
stringstream ss;
print(ss);
string text;
text = ss.str();
// Handle text
}
과 같은 기능이있다 감안할 때 :
void print(ostream& stream) const;
가 어떻게이 ostream에에 기록 된 데이터를 액세스 할 수 있습니까?
내가 문자열로 해석 생각했다 :
string text;
print(text);
// Interpret text
이유는 매개 변수로 객체에 대한 포인터를 가지고 다른 기능이있을 수 있습니다 :
void append(*Data data);
그리고 난을 사용해야합니다 데이터 객체는 데이터를 얻기 위해 메서드를 인쇄합니다.
// This is a public function in the Data class
void append(*Data data) {
string text;
data->print(text);
// append data to this Data object
}
문자열로 캐스트하려고했습니다. 연은하지만 작동하지 않았다. 데이터를 파일에 저장 한 다음 해결 방법으로 읽을 수 있다면 생각하고 있습니다.
string text;
print(text);
이 대신
흠, 오류가 발생하지 않지만 어떻게 ostringstream을 문자열로 변환 할 수 있습니까? << 연산자가 작동하지 않습니다. ostringstreams str 멤버 나 get 또는 getline()의 조합도 마찬가지입니다. – user1356190
@ user1356190 : 어떻게'str()'멤버 함수를 사용하려고 했습니까? ala'std :: cout << text.str() << '\ n'; ' –
오 str() _function_을 (를) 가지고 있다는 것을 몰랐습니다! [link] http://www.cplusplus.com/reference/iostream/ostream/ 링크를 보면 어디에도 없습니다. 어쨌든 ostream의 매개 변수로 stringstream을 전달한 다음이를 "text = ss.str()"문자열로 변환했습니다. 완벽하게 작동합니다. 감사합니다! – user1356190