Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将YAML节点中的序列作为字符串返回? 我试图用YAML CPP解析C++中的对话树(YAML)。以下是一个YAML示例: dialogue_block: character_name: - Hello - How are you? - :main main: - 1: ["I'm fine, thank you", :response1] - 2: ["Not very well", :response2] - 3: ["I don't want to talk", :exit] 我对C++和YAML比较陌生,所以如果有更简单的方式,请给我指出正确的方向。我的想法是将每个块存储为对话节点。在上面的例子中,我希望能够调用dialogue\u block,并提取character\u name来识别说话的角色,打印所有序列,直到:main,在那里它将切换到main节点,播放器有3个选项。我目前被困在第1步-解析yaml文件_C++_Yaml_Yaml Cpp - Fatal编程技术网

如何将YAML节点中的序列作为字符串返回? 我试图用YAML CPP解析C++中的对话树(YAML)。以下是一个YAML示例: dialogue_block: character_name: - Hello - How are you? - :main main: - 1: ["I'm fine, thank you", :response1] - 2: ["Not very well", :response2] - 3: ["I don't want to talk", :exit] 我对C++和YAML比较陌生,所以如果有更简单的方式,请给我指出正确的方向。我的想法是将每个块存储为对话节点。在上面的例子中,我希望能够调用dialogue\u block,并提取character\u name来识别说话的角色,打印所有序列,直到:main,在那里它将切换到main节点,播放器有3个选项。我目前被困在第1步-解析yaml文件

如何将YAML节点中的序列作为字符串返回? 我试图用YAML CPP解析C++中的对话树(YAML)。以下是一个YAML示例: dialogue_block: character_name: - Hello - How are you? - :main main: - 1: ["I'm fine, thank you", :response1] - 2: ["Not very well", :response2] - 3: ["I don't want to talk", :exit] 我对C++和YAML比较陌生,所以如果有更简单的方式,请给我指出正确的方向。我的想法是将每个块存储为对话节点。在上面的例子中,我希望能够调用dialogue\u block,并提取character\u name来识别说话的角色,打印所有序列,直到:main,在那里它将切换到main节点,播放器有3个选项。我目前被困在第1步-解析yaml文件,c++,yaml,yaml-cpp,C++,Yaml,Yaml Cpp,以下作品 YAML::Node dialogue = YAML::LoadFile("dialogue.yaml"); if(dialogue["dialogue_block"]){ std::cout << dialogue["dialogue_block"]["character_name"][0].as<std::string>() << "\n"; } YAML::Node dialogue=YAML::LoadFile(“dialogue.YA

以下作品

YAML::Node dialogue = YAML::LoadFile("dialogue.yaml");
if(dialogue["dialogue_block"]){
  std::cout << dialogue["dialogue_block"]["character_name"][0].as<std::string>() << "\n";
}
YAML::Node dialogue=YAML::LoadFile(“dialogue.YAML”);
如果(对话[“对话块”]){
std::cout first.as();

std::cout您正在询问如何找到列表的“键名”。您当然可以查看
对话[“对话块”]
下的所有键,但yaml将
字符
从它们的
中分离出来,这样做会更加惯用

dialogue_block:
  character: Bob
  lines:
    - Hello
    - How are you?
    - :main
或者,如果一个块是一个列表

dialogue_block:
  - character: Bob
    lines:
      - Hello
      - How are you?
      - :main
  - character: Alice
    lines:
      - Blah
      - :main

您正在询问如何找到列表的“键名”。您当然可以查看
对话[“dialogue_block”]
下的所有键,但yaml将
字符
从它们的
中分离出来,这样会更加惯用

dialogue_block:
  character: Bob
  lines:
    - Hello
    - How are you?
    - :main
或者,如果一个块是一个列表

dialogue_block:
  - character: Bob
    lines:
      - Hello
      - How are you?
      - :main
  - character: Alice
    lines:
      - Blah
      - :main

谢谢您的输入。我在回答您的答案之前,设法回答了我自己的问题。我可以提取字符和线条,但是我不知道如何阻止C++打印出来:代码<:主< /代码>,以及如何告诉它去查找<代码>主:< /代码>…谢谢您的输入。我设法回答了我自己的问题BEFO的一部分。我看到了你的答案。我能够提取字符和线条,但是我不知道如何阻止C++打印出来的代码>:主< /代码>,以及如何告诉它去查找<代码>主:< /代码>…