わかりました、私は考えられるすべてを試しました。この関数にファイル名を渡しています。ちょっとしたコンテキスト: hash_table は、既に初期化され、キー ペアで満たされたベクトルであり、ペアの「値」部分は、フィールド「bucket_size」を持つリンク リストです。これらのフィールドが実際にアクセスされているかどうかを確認するために cout を使用すると、アクセスされます。デバッガーでさえ、それらを出力ストリームにファイルされているものとしてリストします。そこに flush() と close() がありますが、ファイルには何も書き込まれません。ストリームにエラーがないことを示す true を返します。誰にもアイデアはありませんか?
string line;
std::ofstream ofs;
if(ofs.is_open())
ofs.close();
ofs.open(filename);
if (ofs.is_open())
{
cout << "File Opened" << endl;
for (double i = 0; i < hash_table.capacity(); ++i)
{
ofs << "Bucket Number " << i;
if (hash_table[i].value != NULL)
ofs << " Bucket Size: " << hash_table[i].value->bucket_size << endl;
else
ofs << " Bucket Size: 0" << endl;
ofs.flush();
}
cout << "closing file stream" << endl;
ofs.flush();
ofs.close();
if (ofs.good())
return true;
else
return false;
}
else
{
cout << "File not opened" << endl;
return false;
}
}