fstream を使用してファイルの読み取りと書き込みを行うこのコードがあります。fstream オブジェクトはオブジェクトのメンバーとして保持され、コンストラクターで次のように初期化されます。
idmap.open(path, std::fstream::in | std::fstream::out | std::fstream::app);
ファイルがまだ存在しない場合は、適切に作成されます。次に、次のように記述されます。
idmap.seekp(0, std::fstream::end);
idmap << str.size() << ':' << str << '\n';
idmap.flush();
idmap.sync();
次のように読み取られるはずですが、ファイルが常に空であるため、機能するかどうかはわかりません。
idmap.seekg(0);
while (!idmap.eof()) {
idmap.getline(line, 1024);
idtype id = getIDMapEntry(std::string(line));
if (identifier.compare(nfile.getIdentifier()) == 0) {
return nfile;
}
}
次に、プログラムが終了すると閉じます。
idmap.close();
それはおそらくプログラムの他の何かですが、私が何かばかげたことをした場合に備えてここで質問し、他のすべてを並行して掘り下げます。