1

単純なテキスト ファイル形式 (隣接リスト) にグラフを書き込みます。ある例では、結果のファイルに奇妙な非常に長い「NUL」文字列が含まれていることを発見しました。

ここに画像の説明を入力

これらのヌル文字はどこから来るのでしょうか? 彼らはどういう意味ですか?

ファイルを生成するコードは

void GraphIO::writeAdjacencyList(Graph& G, std::string path) {
    std::ofstream file;
    file.open(path.c_str());

    G.forallNodes([&](node v) {
        file << v;
        G.forallNeighborsOf(v, [&](node x) {
            file << " " << x;
        });
        file << std::endl;
    });
    INFO("wrote graph to file: " << path);
}

すべてのノードに対する反復は、次のように実現されます。

template<typename Callback>
inline void EnsembleClustering::Graph::forallNodes(Callback func, std::string par) {
    assert ((par == "") || (par == "parallel"));
    int64_t n  = this->numberOfNodes();
    #pragma omp parallel for if (par == "parallel")
    for (node v = this->firstNode(); v <= n; ++v) {
        // call node function
        func(v);
    }
}

編集:型nodeは単に型定義ですint64_t

4

0 に答える 0