При удалении строки, появляется отрицательное значение в Файлах с++

Функция работает нормально, единственное я никак не могу разобраться с тем, что при удалении файла, в файл записывается отрицательное значение -858993460; Не знаю что с этим делать, уже второй день не могу решить проблему. После того, как появляется это число, не является доступным удаление новых созданных после этого числа обьектов, структур. (Нарушения доступа для записи) в istream.

void Funcodstranit()//Объявление функции поиска и удаления элементов из файла
{
    zamky pass[255];
    int i = 0; 
    int n1 = 0;
    fstream databaza;
    databaza.open("databaza.txt", ios::in);
    do 
    {
        databaza >> pass[i].id;
        databaza >> pass[i].nazev;
        databaza >> pass[i].Mesto_a_Stat;
        databaza >> pass[i].popis;
        databaza >> pass[i].oteviraci_hodiny;
        databaza >> pass[i].vstupne;
        i++;
        n1++;
    }
    while (!databaza.eof());
    int mk; bool check = 0; int odst;
    cout << "Zadejte ID zamku, pro odstraneni: "; 
    cin >> mk;
    for (i = 0; i < n1; i++)
    {
        if (mk == pass[i].id)
        {
            odst = i;
            cout << "\n===================================JEMENO NALEZENO=================================\n";
            cout << "ID =" << pass[i].id << "\nNazev zamku=" << pass[i].nazev << "\nMesto a Stat=" << pass[i].Mesto_a_Stat << "\nPopis=" << pass[i].popis << "\nHodiny praci=" << pass[i].oteviraci_hodiny << "\nVstupne=" << pass[i].vstupne;
            cout << "\n===================================================================================\n";
            check = 1;
        };

    };
    if (check != 1)
    {
        cout << "=============================\n";
        cout << "Neni objektu kteri muze najit\n";
        cout << "=============================\n";
    }
    else
    {
        string sel;
        cout << "Odstranit Objekt nebo Objekty? \n" << "1. Yes\n" << "2. No\n";
        cout << "Answer: ";
        cin.ignore();
        getline(cin, sel);
        if (sel == "Yes" | sel == "yes")
        {
            fstream databaza("databaza.txt", ios::out | ios::binary);
            for (i = 0; i < n1; i++)
            {
                if (pass[i].id != mk)
                {
                    databaza << pass[i].id << " ";
                    databaza << pass[i].nazev << " ";
                    databaza << pass[i].Mesto_a_Stat << " ";
                    databaza << pass[i].popis << " ";
                    databaza << pass[i].oteviraci_hodiny << " ";
                    databaza << pass[i].vstupne << " ";
                    databaza << " \n";
                }
            }
            cout << "Objekt odstranen...\n";
            Sleep(1000);
        }
    }
    databaza.close();
}

Ответы (0 шт):