Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
jUvkeE
0 / 0 / 0
Регистрация: 08.11.2010
Сообщений: 26
#1

Удаление из файла - C++

01.04.2011, 01:21. Просмотров 575. Ответов 1
Метки нет (Все метки)

Исправьте функцию удаления,что то не всегда нормально удаляет.хз чего.
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
35
36
37
38
39
40
41
42
void udal()        
{
     system("cls");
     int z=0;
     char MODEL[10];
     cout<<"Имя файла:"<<endl;
     cin>>filename;
     if ((f=fopen(filename,"wt"))==NULL)
     {
     cout<<"ERROR<<endl;
     getch();
     } 
     else
     system("cls");
      cout<<"Модель,которую хотите удалить: "<<endl;
      cin>>MODEL;   
     for (int i=0;i<dlina;i++)
     {
     if (!strcmp(bmv[i].MODEL,MODEL))
      z=i;}
     if (z==0)
     {for (int i=z+1;i<dlina;i++)
      fprintf(f,"%s     %i      %s   %i    %s",bmv[i].MODEL,bmv[i].GODV,bmv[i].OB,bmv[i].PROBEG,bmv[i].CVET);
      fprintf(f,"\n");
     }
     else
     {
      for (int i=0;i<z;i++)
      {     
      fprintf(f,"%s     %i      %s   %i    %s",bmv[i].MODEL,bmv[i].GODV,bmv[i].OB,bmv[i].PROBEG,bmv[i].CVET);
      fprintf(f,"\n");}
      for (z=z+1;z<dlina;z++)
      {     
      fprintf(f,"%s     %i      %s   %i    %s",bmv[z].MODEL,bmv[z].GODV,bmv[z].OB,bmv[z].PROBEG,bmv[z].CVET);
      fprintf(f,"\n");}
      }
    cout<<"Удалено."<<endl;
    dlina=dlina-1; 
    fclose(f);
    
    return;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2011, 01:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удаление из файла (C++):

Удаление строки из файла\либо удаление самого файла. - C++
День добрый, вот функция(используемые переменные объявленны ранее): void delete_cruise() { FILE *fout; open_file(&quot;abase.dat&quot;); ...

Удаление из файла - C++
Здравствуйте. Есть такое задание: &quot;Дана последовательность a1...a20. Имеется в виду, что в ней есть несколько максимальных элементов....

Удаление файла - C++
Здравствуйте, мне нужно удалить файл, имя которого записано в массив char. Пытался передать этот массив в функцию remove, возвращает...

Удаление файла - C++
Такая проблема: существует код который в процессе работы создаёт много файлов, он их один раз использует, а потом они не нужны. Как их...

Удаление из файла - C++
Добрый день. Подскажите пожалуйста у меня прога ежедневник, как мне сделать так чтобы если событие отработано он удалял это событие из...

Удаление файла - C++
А не подскажите как на плюсах функцию удаления прописать? Нужна удалять файл в корне проги моей. Только чтобы путь не нужно было...

1
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
01.04.2011, 11:14 #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
35
36
37
38
39
40
41
42
void udal()        
{
     system("cls");
         int z=0;
     char MODEL[10];
         cout<<"Имя файла:"<<endl;
     cin>>filename;
     if ((f=fopen(filename,"wt"))==NULL)
     {
     cout<<"ERROR"<<endl;
     getch();
     } 
     else
     system("cls");
      cout<<"Модель,которую хотите удалить: "<<endl;
          cin>>MODEL;   
         for (int i=0;i<dlina;i++)
     {
     if (!strcmp(bmv[i].MODEL,MODEL))
      z=i;}
     if (z==0)
     {for (int i=z+1;i<dlina;i++)
      fprintf(f,"%s     %i      %s   %i    %s",bmv[i].MODEL,bmv[i].GODV,bmv[i].OB,bmv[i].PROBEG,bmv[i].CVET);
      fprintf(f,"\n");
     }
     else
     {
      for (int i=0;i<z;i++)
          {             
      fprintf(f,"%s     %i      %s   %i    %s",bmv[i].MODEL,bmv[i].GODV,bmv[i].OB,bmv[i].PROBEG,bmv[i].CVET);
      fprintf(f,"\n");}
      for (z=z+1;z<dlina;z++)
          {             
      fprintf(f,"%s     %i      %s   %i    %s",bmv[z].MODEL,bmv[z].GODV,bmv[z].OB,bmv[z].PROBEG,bmv[z].CVET);
      fprintf(f,"\n");}
      }
    cout<<"Удалено."<<endl;
    dlina=dlina-1; 
    fclose(f);
        
        return;
}

Не по теме:

P.S. Мне интересно, как она вообще компилировалась и что-нибудь нормально удаляла...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2011, 11:14
Привет! Вот еще темы с ответами:

Удаление из файла - C++
Помогите с Удалением из файла. Например: Я записал 2 животных, как удалить 1 из животных из файла? Вот мой код. Помогите дописать...

Удаление комментариев из файла - C++
Решил написать программу которая удаляет комментарии из файла и пишет текст в другой файл, но она вдруг запинается на некоторых...

Удаление пункта файла - C++
Подскажите как сделать удаление пункта записи файла? void del_punkt() { cout &lt;&lt; &quot;Удаление пункта записи файла&quot; &lt;&lt; endl; ...

Удаление структуры из файла - C++
Всем привет. У меня такая ситуация: записываю в бинарный файл заполненную структуру. Потом пользователь &quot;удаляет&quot; ее путем обнуления...


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

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

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