부스트는 tutorial on how to load XML from a file입니다. 코드에서 생성하거나 사용자로부터 수신하는 문자열 (예 : cin
)을 피드에 어떻게 제공합니까?Boost.PropertyTree에 파일이 아닌 문자열을 입력하는 방법은 무엇입니까?
14
A
답변
10
istringstream
에 문자열을 감싸십시오. 나를 위해 작동
11
Heres는 몇 가지 코드 ... istringstream
불필요 복사 전체 버퍼를 사용하기 때문에
// Create an empty property tree object
ptree xmlTree;
// Read the XML config string into the property tree. Catch any exception
try {
stringstream ss; ss << xmlConfigString;
read_xml(ss, xmlTree);
}
catch (xml_parser_error &e) {
LOGERROR ("Failed to read config xml " << e.what());
}
catch (...) {
LOGERROR ("Failed to read config xml with unknown error");
}
4
다른 답변, 비 이상적입니다.
는 this question에 대한 대답은 당신이 사용되지 않는 istrstream
를 사용할 수 있듯이,하지만이 경고를 생성 미래에서 제거 될 수 있으므로, 더 나은 솔루션 boost::iostreams 사용하는 것입니다 : 이것은 불필요하게 복사 피한다
boost::iostreams::stream<boost::iostreams::array_source> stream(moo.c_str(), moo.size());
boost::property_tree::read_json(stream, tree);
같은 방식으로 istrstream
(입력 버퍼가 클 경우 상당한 문제가 될 수 있음)과 동일한 방식으로 버퍼를 만들고 사용자 자신의 스트림 클래스를 작성하지 않아도됩니다.
관련 문제
- 1. 파일이 아닌 구성 요소를 관리하는 방법은 무엇입니까?
- 2. jQuery에서 사용자가 입력하는 동안 지정된 문자열을 감지하는 방법은 무엇입니까?
- 3. 이클립스에서 문자열을 대체하는 방법은 무엇입니까?
- 4. 기존 프로젝트를 입력하는 방법은 무엇입니까?
- 5. 신경망에 이미지를 입력하는 방법은 무엇입니까?
- 6. 데이터베이스에 데이터를 입력하는 방법은 무엇입니까?
- 7. 아약스를 올바르게 입력하는 방법은 무엇입니까?
- 8. easy_install이 패키지를 단일 계란 파일이 아닌 디렉토리로 확장하는 방법은 무엇입니까?
- 9. 파일이 아닌 RTSP 소스가있는 미디어 플레이어를 재생하는 방법은 무엇입니까?
- 10. PHP 로그 파일이 텍스트가 아닌 이유는 무엇입니까?
- 11. 문자열을 내 데이터베이스에 입력하는 방법의 서식 지정
- 12. 펄에서 커팅 명령을 입력으로 문자열을 입력하는 방법
- 13. 파일이 아닌 함수 매개 변수에서 입력 받기
- 14. 사용자가 날짜를 입력하는 가장 좋은 방법은 무엇입니까
- 15. .htaccess에 여러 PHP 값을 입력하는 방법은 무엇입니까?
- 16. Winamp vis 플러그인에 데이터를 입력하는 방법은 무엇입니까?
- 17. Sitecore RichText 편집기에서 나누기를 입력하는 방법은 무엇입니까?
- 18. 위키 페이지에 Javascript를 입력하는 방법은 무엇입니까?
- 19. 두 개의 클래스로보기를 강력하게 입력하는 방법은 무엇입니까?
- 20. Oracle에서 줄 바꿈 문자를 입력하는 방법은 무엇입니까?
- 21. cmd에 특수 문자를 입력하는 방법은 무엇입니까?
- 22. formtastic 양식을 입력하는 방법을 강요하는 방법은 무엇입니까?
- 23. 웹 양식에 null 문자를 입력하는 방법은 무엇입니까?
- 24. 프롤로그에서 다음 데이터를 입력하는 방법은 무엇입니까?
- 25. Java의 BlackberryTipCalculator에서 정수 값만 입력하는 방법은 무엇입니까?
- 26. C#/.NET에 파일이 있는지 확인하는 방법은 무엇입니까?
- 27. 자바 스크립트 : 마지막 두 글자를 텍스트 영역에 입력하는 방법은 무엇입니까?
- 28. 문자열을 매크로에주는 방법은 무엇입니까?
- 29. 파일이 PHP인지 확인하는 방법은 무엇입니까?
- 30. 표준 C++에서 표준 문자열 클래스를 사용하지 않고 빈 공간을 포함한 문자열을 입력하는 방법은 무엇입니까?