Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
jUvkeE
0 / 0 / 0
Регистрация: 08.11.2010
Сообщений: 26
01.04.2011, 01:21     Удаление из файла #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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2011, 01:21     Удаление из файла
Посмотрите здесь:

Удаление строки из файла\либо удаление самого файла. C++
удаление из текстового файла C++
Удаление из файла C++
Удаление из файла C++
Удаление из файла C++
C++ Удаление файла
C++ Удаление комментариев из файла
Удаление файла C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 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. Мне интересно, как она вообще компилировалась и что-нибудь нормально удаляла...

Yandex
Объявления
01.04.2011, 11:14     Удаление из файла
Ответ Создать тему
Опции темы

Текущее время: 04:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru