すみません。質問させて下さい。XP+VC++ 9.0です

【やりたいこと】 データファイルを読み込んで、ダイクストラ法を使って最短ルートを求める

【条件】
ノードは可変数個、コストは全て正の値、スタートノード及びゴールノードは
dijkstra.exe -start_node -goal_node のようにプログラム開始時に与える。

【何が分からないのか】
可変数個のノードや、エッジがどのノードに向かって延びているか、
かかるコストはいくらか等のデータをどのようにデータファイルに格納するか、データファイルの構造決定。
データファイルの構造が決定したとして、どのように可変数個のデータを読み込むか、
どうやってデータの終わりを探すか。ファイルからデータを読み込んだとして、データの整合性を
どのように検証するか。

分からないことばかりですが、誰かヒントだけでも教えて下さい。宜しくお願いします。