2012-08-24 5 views
1

Graphchi에서 가장 짧은 경로 코드를 작성했으며 그 결과를 파일에 인쇄하려고합니다. 예제에 표시된 템플릿을 사용하려고했지만 다른 예제와 같이 파일에 같은 방법을 사용하면 오류가 발생합니다. 나는 여기 붙어있어. 방금 인쇄하려는 출력 (정점 ID, 원본과의 최소 거리)입니다. 어떻게 할 수 있습니까?Graphchi에서 파일에 출력 작성

+0

코드를 입력하고 오류를 알려주십시오. –

+0

실제로 나는 다른 예제의 코드를 사용하여 eror를 제공하고 있습니다. 나는 네가 준 답을보고 너에게 돌아갈 것이다 !! –

답변

2

다음은 모든 정점의 값을 콘솔에 출력하는 방법의 예입니다. 출력을 파일에 쓰도록 수정하는 것은 쉽습니다. 바이너리 파일을 처리 할 수있는 경우, GraphChi는 이미 파일에 정점 값을 가지고 있습니다 : .B.vout, 여기서 sizeof (VertexDataType)입니다.

: 당신은

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를 호출 할 필요가 매개 변수로 정점 ID와 값을하는 콜백 함수를 정의 할 필요가

1)

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