yaml-cpp をいじり始めたところです。適切にビルドし、yaml-cpp wiki からいくつかの例を実行することができましたが、エミッターをファイルに保存する方法が見つかりません。
これは不可能ですか?つまり、PyYAML ライブラリにはこのための「ダンプ」機能があります。yaml-cpp にそのような機能はありませんか? yaml エミッターを stl ストリームに変換し、これを yaml ファイルにダンプする回避策はありますか?
私にお知らせください
ありがとう、アダム
yaml-cpp をいじり始めたところです。適切にビルドし、yaml-cpp wiki からいくつかの例を実行することができましたが、エミッターをファイルに保存する方法が見つかりません。
これは不可能ですか?つまり、PyYAML ライブラリにはこのための「ダンプ」機能があります。yaml-cpp にそのような機能はありませんか? yaml エミッターを stl ストリームに変換し、これを yaml ファイルにダンプする回避策はありますか?
私にお知らせください
ありがとう、アダム
この関数は、終了するC スタイルの文字列 (解放する必要はありません) を返します。これをファイルに書き込むことができますEmitter::c_str()
。NULL
例えば:
YAML::Emitter emitter;
emitter << "Hello world!";
std::ofstream fout("file.yaml");
fout << emitter.c_str();
Emitter::size()
より高度な処理を行い、文字列を調べてその長さを調べたくない場合に備えて、その文字列のバイト数を返すもあります。
Node
a をストリームにダンプしたい場合は、次のショートカットがあります。
YAML::Node node = ...;
std::ofstream fout("file.yaml");
fout << node;