Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
NoN_ToXIC
0 / 0 / 1
Регистрация: 21.04.2015
Сообщений: 12
1

Удаление строки из файла - как уменьшить номер строки, которая встала на место удаленной?

21.04.2015, 19:42. Просмотров 312. Ответов 0
Метки нет (Все метки)

нужно записать функцию удаления. собственно, сама функция у меня работает, строка удаляется. но как уменьшить номер строки, которая встала на место удаленной? а то при добавлении у меня получается 2 строки с одинаковым номером.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
void Udalenie(FILE *f)
{
  int i,j,n;
  student *p;
    f=fopen("student.txt","rb");
    n=0;
    fseek( f, 0, 2 );
    n = ftell(f) / sizeof(student);
    rewind(f);
    p=(student *)malloc(n*sizeof(t1));
    for (i=0;i<n;++i)
    {
        fread(&t1,sizeof(t1),1,f);
        
        p[i]=t1;
        printf("\n%d    [Fam:%3s    [Imia:%3s    [Adr:%3s    [Tel:%3s    [Spec:%3s    [Curs:%d    [Otenka:%4.2f",t1.nr,t1.fam,t1.imia, t1.adr, t1.tel, t1.spec, t1.curs, t1.otenka);
    
    }
    fclose(f);
    f=fopen("student.txt","wb");
    printf("\nViberite nomer udaleaemogo studenta:");
    scanf("%d", &i);
    if (i<n)
    {
        for(j=i;j<n-1;j++)
        p[j]=p[j+1];
    }
    for(i=0;i<n-1;i++)
    fwrite(&p[i],sizeof(t1),1,f);
    
  getch();
  free(p);
  fclose(f);
}
Добавлено через 4 часа 48 минут
можно закрывать, переделал прогу, больше не нужно)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2015, 19:42
Ответы с готовыми решениями:

Вставить в начало каждой строки файла ее номер и записать преобразованные строки в новый файл
Дан текстовый файл. Вставить в начало каждой строки ее номер и записать преобразованные строки в...

Определить номер строки, содержащей положительные числа, и вывести номер строки
В двумерном массиве определить номер строки, содержащих положительные числа и вывести номер строки....

Копирование строки на место другой строки
Копирует строку string2 вместе с завершающим нулевым символом на место строки string1, и возвращает...

Удаление строки из файла
Добрый вечер! У меня есть структура, в которой есть данные номер(порядковый), фамилия и телефон....

Удаление строки из файла
Написала код для удаления строки из файла. В консоли строка удаляться, а вот в файле никак не...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2015, 19:42

Указать номер строки, максимальной удаленной от первой строки заданной матрицы
Расстояние между k-й и l-й строками матрицы А=|{a}_{ij}| определяется как...

Указать номер строки, максимально удаленной от первой строки заданной матрицы
Задание: Расстояние между k-й и 1-й строками квадратной матрицы А опеределяется как r = сумма от...

Указать номер строки, максимально удаленной от первой строки заданной матрицы
Расстояние между k-той и L-той строками матрицы А= ||а|| определяется как \sum_{j=1}^{n} |a |*|a...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru