使用Point Cloud Library从C ++中的URL读取文件而不是本地文件

时间:2017-07-14 21:42:25

标签: c++ pointers networking point-cloud-library

我是Point Cloud库(PCL)的新手,并且对指针如何工作的C ++知识有限。虽然我们可以从文件加载文件并将其可视化(使用 this 教程),但我们如何从HTTP URL中读取它?

paths

1 个答案:

答案 0 :(得分:0)

我不知道PCL是否直接执行此操作,但您可以将cprurdl C ++库用于download the file到本地临时库,或实际工作流。

Urdl示例:

// For urdl::url.
#include <urdl/url.hpp>

// etc...    

urdl::url url("http://somehost/path");
urdl::istream is("http://somehost/path");

这个istream既可以直接使用(如果PCL支持),也可以write the data on the stream to a file使用。

使用cpr的示例程序(a.k.a. C ++请求;基于C库libcurl):

#include <cpr/cpr.h>

int main(int argc, char** argv) {
    auto r = cpr::Get(cpr::Url{"https://api.github.com/repos/whoshuu/cpr/contributors"},
                      cpr::Authentication{"user", "pass"},
                      cpr::Parameters{{"anon", "true"}, {"key", "value"}});
    r.status_code;                  // 200
    r.header["content-type"];       // application/json; charset=utf-8
    r.text;                         // JSON text string
}

(取自cpr的官方网站。)