Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2012, 22:26   #1
Blind Guard
Форумчанин
 
Регистрация: 14.03.2012
Сообщений: 139
Сообщение В чём проблема?

Добрового здоровьица

Код собственно удаляет строку из файла достаточно примитивным способом (пересозданием файла без опредеённой строки)
Но почему-то вместо удаления элемента во все строки записывается значения последней считываемой строки. Вопрос : почему?

Код:
FILE *fs; 
int j=0,i;
char *str=(char*)calloc(1,sizeof(char));
char *str2=(char*)calloc(1,sizeof(char));
char **fstr_2=(char*)calloc(1,sizeof(char));
fs=fopen("Spisok.bin","a+b");
 
 gets(str);                                   

 while(!feof(fs))
 {
  fgets(str2,50,fs);
  if(str2!=str)
  {
   fstr_2[j]=str2;
   j++;
   fflush(stdin);
  }
 }
 fclose(fs);
 fs=fopen("Spisok.bin","w+b");
 for(i=0;i<j-1;i++)
  fputs(fstr_2[i],fs);
 fclose(fs);

Последний раз редактировалось ACE Valery; 27.05.2012 в 23:48.
Blind Guard вне форума Ответить с цитированием
Старый 28.05.2012, 12:45   #2
alezha
Форумчанин
 
Регистрация: 16.04.2011
Сообщений: 126
По умолчанию

Если у вас файл бинарный, так пользуйтесь функциями для бинарного файла.
fread(), fwrite().

Код:
char **fstr_2=(char*)calloc(1,sizeof(char));
это че такое?

Последний раз редактировалось alezha; 28.05.2012 в 12:48.
alezha вне форума Ответить с цитированием
Старый 28.05.2012, 12:50   #3
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
Но почему-то вместо удаления элемента во все строки записывается значения последней считываемой строки. Вопрос : почему?
Вот по этому
Цитата:
Код:
fstr_2[j]=str2;
Сами отгадаете чё присваиваете?
или подсказать?
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В чём проблема?(( Van-89 Паскаль, Turbo Pascal, PascalABC.NET 5 12.12.2011 13:02
Не пойму в чём проблема Winterwolf93 Помощь студентам 0 31.03.2011 18:19
в чём проблема? zetr0 Помощь студентам 7 04.10.2010 20:02
В чём проблема? (Работа с WebBrowser) Lauri Общие вопросы Delphi 0 01.04.2010 11:26
Не знаю в чём проблема Castro Паскаль, Turbo Pascal, PascalABC.NET 5 24.12.2008 01:38