我用Graphchi写了一个最短路径代码,我想把它的输出打印到一个文件中。我试图使用示例中显示的模板,但如果我使用与其他示例相同的方式写入文件,则会出现错误。我被困在这里了。作为输出,我只想打印(顶点id,它与源的最小距离)。我怎么能做到这一点。
发布于 2012-08-25 04:54:50
下面是如何将所有顶点的值输出到控制台的示例。修改它以将输出写入文件是很容易的。请注意,如果您可以处理二进制文件,则GraphChi已经在一个文件中具有顶点值:.B.vout,其中是sizeof(VertexDataType)。
1)需要定义一个回调函数,该函数将顶点id和value作为参数
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);https://stackoverflow.com/questions/12112543
复制相似问题