Удаление определённой записи по номеру в файле

Рейтинг: 0Ответов: 1Опубликовано: 17.04.2015

Задача: удалить определённую запись структуры по номеру, который введёт юзер.

Вот,что я сам попробовал сделать:

void udalenie()
{
    int i, s;
    vivod();
    printf("\nNomer mashini,kotoruiu udaleaem: ");
    scanf_s("%d", &i);
    fopen_s(&f, "car.dat", "r");
    fopen_s(&nov, "nov.dat", "wb+");
    s = 0;
    while (fread(&car1, sizeof(car1), 1, f) != NULL)
    {
        s++;
        if (s != i)
        {
            fwrite(&car1, sizeof(car1), 1, nov);
        }
    }
    fclose(f);
    fclose(nov);
}

Не работает,как надо. У меня 3 записи. 0,1,2. КАК РАБОТАЕТ: Ввожу 0 - ничего не меняется Ввожу 1 - удаляется 0 Ввожу 2 - удаляется 1

Ответы

Ответов пока нет.