2014-07-10 7 views
1

기본적으로 yamp-cpp는 따옴표없이 문자열을 내보내지만, 문자열에 대괄호가 있으면 항상 따옴표로 묶습니다. 내가 파일에 얻을 위의 예에서yaml-cpp를 사용하여 따옴표없이 문자열을 내보내는 방법?

YAML::Emitter out; 
// ... 
const std::string myStr = "[0, 0, 1]" 
out << myStr; 

: 내가 원하는 때 "[0, 0, 1]"[0, 0, 1]

어떻게 해결하기 위해 당신은 알고 계십니까?

감사합니다.

답변

1

yaml-cpp가 문자열을 인용하는 이유는 스칼라가 아닌 시퀀스를 방출하기 때문입니다.

out << YAML::BeginSeq << 0 << 0 << 1 << YAML::EndSeq; 

을하지만 그렇지 않은 이후로 당신은 단순히 은 일반 스칼라로 텍스트 [0, 0, 1]을 방출 할 수 없습니다 당신이 순서 [0, 0, 1]을 방출하고 싶은 경우에, 당신은 그렇게 할 수 있습니다!

0

이 작업을 시도 할 수 :

YAML::Emitter out; 
// ... 
const std::string myStr = "[0, 0, 1]" 
out << YAML::Load(myStr); 

나이 :

out.WriteStreamable(myStr);