Поиск:

Ответ в темуСоздание новой темы Создание опроса
> при вызове fgets происходит exception 
:(
    Опции темы
dezhik
Дата 6.4.2011, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 28.3.2011

Репутация: нет
Всего: нет



Всем привет!

Есть такой кусок кода
Код

void __fastcall TForm1::Button3Click(TObject *Sender)
{
///// перекачка файла

    FILE *f1,*f2;
    f1 = fopen("tt.tt","r");
    f2 = fopen("2borl.bat","w");
    AnsiString s;
    char *buff, *buff1;
    while(1) {
        if (fgets(buff,100,f1) == NULL) break;
        s = AnsiString(buff);
        s =    "coff2omf "+ s.TrimRight() + "borland\\" + s.TrimRight() + " \n";
        buff1 = s.c_str();
        fputs(buff1,f2);
        }
    fclose(f1);
    fclose(f2);
}


Среда программирования - CodeGear RAD Studio 2007. Когда доходит до инструкции if (fgets()) происходит сбой - его описание "Access violation at adress ..... in module cc3280mt.dll. Write of adress 00000001

Что интересно, некоторое время все отлаживалось прекрасно, но потом на этом месте стало сбоить регулярно, даже после перезагрузки. Я сильно новичек в этом деле. Кто нибудь может объяснить, в чем проблема. 

И еще допом вопрос. Пытаюсь присобачить к этому билдеру библиотеку opencv2.2. В мануале сказано, что файлы lib надо переделать из формата Майкрософта в формат борланда с помощью coff2omf. Все сделал, пути указал, при запуске в отладке выпадает куда-то в код, при запуске просто екзешника выдает такое - "Приложению не удалось запуститься, поскольку OPENCV_HIGHGUI220.DL не был найден". Именно DL с одной латинской Л. я посмотрел во вьювере файл соответсвующей библиотеки, и там вправду везде стоит .dl вместо .dll. Это как понимать и что делать?
Заранее благодарен.

PM MAIL   Вверх
volatile
Дата 6.4.2011, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 3
Всего: 85



Цитата(dezhik @  6.4.2011,  22:15 Найти цитируемый пост)
Access violation at adress 

Вам надо выделить память
Код

char buff [100];

или
Код

char * buff = new char [100];

во 2-ом случае не забудьте про delete []  buff;

PM MAIL   Вверх
borisbn
Дата 7.4.2011, 08:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 18
Всего: 135



а после этого
Цитата(dezhik @  6.4.2011,  22:15 Найти цитируемый пост)

f1 = fopen("tt.tt","r");    
f2 = fopen("2borl.bat","w");

обязательно проверить, что f1 и f2 не равны 0




--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
dezhik
Дата 7.4.2011, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 28.3.2011

Репутация: нет
Всего: нет



Спасибо. А как по второму вопросу - он-то позаковырестее smile

Нашел решение по второму вопросу - выкрутился, используя implib. Так что вопрос снят не полностью. Найдена только замена.

Это сообщение отредактировал(а) dezhik - 7.4.2011, 20:49
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0483 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.