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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2011, 20:57   #1
dykatob
Пользователь
 
Регистрация: 15.04.2011
Сообщений: 38
По умолчанию Не пойму в чем ошибка в программе. ( программа на удаление строки( введенной с консоли) из файла)

Код:
#include<stdio.h>
#include<conio.h>
#include<string.h>
#define MAX_STR 1000
#define MAX_CHAR 255
int main ()
{
char c;
int i=0;
FILE *f1;
FILE *f2;
char putb[MAX_CHAR], stroka[MAX_STR], putb2[MAX_CHAR];
printf ("vvedite putb k failu, kotopbIu HygHo otkPbItb\n");
scanf("%s", putb);
printf ("vvedite stroku, kotopbIu HygHo ydalutb\n");
scanf("%s",stroka);
printf ("vvedite putb2 k failu, kotopbIu HygHo otkPbItb\n");
scanf("%s", putb2);
if ((f1=fopen(putb,"r")) !=NULL)
if ((f2=fopen(putb2,"w")) !=NULL)


while ((c=fgetc(f1))!=EOF)
{ if (stroka[0]==(c=fgetc(f1)))
  while (stroka[i]!='\0')

  {if (stroka[i]==(c=fgetc(f1)))
  i++;
  else fputc(c,f2);
  }
  fclose(f1);
  fclose(f2);

  remove(f1);
  rename(f2,f1);
  getch();
  return 0;
}
Вот собственно и вся программка. пишет следующие ошибки:
In function `int main()':
cannot convert `FILE*' to `const char*' for argument `1' to `int remove(const char*)'
cannot convert `FILE*' to `const char*' for argument `1' to `int rename(const char*, const char*)'
expected `}' at end of input

Вроде понял что ошибки в неправильном использовании функций remove и rename... в чем неправильность их использования прошу подсказать ( Программа написана в Borland c 3.1)
dykatob вне форума Ответить с цитированием
Старый 02.06.2011, 21:33   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

remove нужна строка, а вы даете файловую переменную
rename нужны две строки, а вы опять
p51x вне форума Ответить с цитированием
Старый 02.06.2011, 21:41   #3
dykatob
Пользователь
 
Регистрация: 15.04.2011
Сообщений: 38
По умолчанию

remove - мне надо путь к файлу ( строка) ну типо c:\777.txt
rename - нужно типо c:\777.txt и c:\555.txt
так понял я?
dykatob вне форума Ответить с цитированием
Старый 02.06.2011, 22:15   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

да так поняли.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлом. Удаление вводимой с консоли строки из файла в BrdC3.1 dykatob Общие вопросы C/C++ 0 06.05.2011 21:49
Не пойму, в чем ошибка... ООП.Работа с файлами данных, С++ Purr Помощь студентам 2 24.10.2010 22:06
Не пойму в чем ошибка. Кто подскажет? Wild_klas Помощь студентам 8 20.10.2010 09:05
не пойму в чем ошибка Анастасия123456789 Помощь студентам 3 23.03.2009 15:53
Не пойму в чем ошибка Machete PHP 2 08.12.2008 10:09