使用pugixml 1.0
当我使用shell STDINredirect时,从std :: cin加载XML文档:
$ ./pugitest < sample.xml # OK
但是在stream水线中调用时会失败:
$ cat sample.xml | ./pugitest # FAILS ./pugitest: Error reading from file/stream
这是pugitest程序的代码:
“参数列表太长”只有2个参数?
使用WGET从网站/目录下载所有.tar.gz文件
从Bash运行Python与STDIN
#include "pugixml.hpp" #include <iostream> #include <stdexcept> int main(int argc,char *const argv[]) { try { pugi::xml_document doc; pugi::xml_parse_result result = doc.load(std::cin); if (!result) { throw std::runtime_error(result.description()); } } catch (std::exception& e) { std::cerr << argv[0] << ": " << e.what() << 'n'; return 1; } return 0; }
我不明白原因。
UNIX Case语句中的模式匹配
什么是最快的egrep
pugixml 1.0预计输入流是可搜索的。 如果流绑定到文件,则寻找工作,但如果流绑定到管道,则失败。
从pugixml 1.2开始(昨天发布:)),不可查找的流被接受为load()源。 你的示例在使用1.2编译时工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。