将输出写入Graphchi中的文件

时间:2012-08-24 15:40:49

标签: file-io graph graphchi

我在Graphchi中写了一个最短的路径代码,我想在文件中打印它的输出。我试图使用示例中显示的模板,但如果我使用与其他示例中相同的写入文件,则会出现错误。 我被困在这里。作为输出我只想打印(顶点id,它与源的最小距离)。 我怎样才能做到这一点。

1 个答案:

答案 0 :(得分:2)

以下是如何将所有顶点的值输出到控制台的示例。可以很容易地修改它以将输出写入文件。请注意,如果您可以处理二进制文件,GraphChi已经在文件中包含顶点值:.B.vout,其中sizeof(VertexDataType)。

1)你需要定义一个回调函数,它将顶点id和值作为参数

class OutputVertexCallback : public VCallback<VertexDataType> {
public:

virtual void callback(vid_t vertex_id, VertexDataType &value) {
  std::cout << vertex_id << "=" << value << std::endl;
}
 };

2)然后你需要按如下方式调用foreach_vertices()来获得输出:

OutputVertexCallback callback;
foreach_vertices<VertexDataType>(filename, 0, engine.num_vertices(), callback);