Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Cannot open 'phys.db' file
Форум на CrossPlatform.RU > Разработка > С\С++
TiiL
и снова проблема:

открываю файл с помощью кода:

if ( ( fp = fopen ( "phys.db" , "rt" ) ) == NULL) {
fprintf ( stderr , "Cannot open 'phys.db' file.\n");
return ( -1 );
}

но не открываеться а вылезает окошко с ошибкой "Cannot open 'phys.db' file."

я так понимаю формат файла оформлен не правильно, и поэтому он выдает такую ошибку. правильно?

файл приложил...

RazrFalcon
1) При чем тут кьют вообще.
2) Зачем открывать базу данных?
Iron Bug
Цитата(TiiL @ 19.7.2011, 11:59) *
открываю файл с помощью кода

в какой системе работаешь?
попробуй написать
fopen ( ".\phys.db" , "rt" )
а может, у тебя не хватает прав доступа для открытия этого файла.
TiiL
разобрался с проблемой, перенеся phys.db в папку с проектом, программа запускаеться отлично.

Вот только бы хотелось чтобы программа phys.db бралось из папки bin, например:

E:\alexprojects\samum\trunk\bin

а сама программа лежит вот так:

E:\alexprojects\samum\trunk\ded

может путь прописать в файле ded.pro, вот только не пойму как объявить путь, Вот LIBS - это библиотека, а базу данных как?
Iron Bug
вообще-то, пути обычно не зашивают в код. это нехороший стиль программирования.
а так, каждая система ищет файл в тех местах, которые для неё специфичны.
если уж очень хочется зашить жёсткий путь до базы и её название в код, то просто писать относительный путь и всё. но это не лучший метод. тем более, что у юзера никаких транков и бинов на машине не будет, соответственно.
TiiL
То есть, все файлы используемые приложением лучше держать в корне приложения? я правилньо понял тебя?
Iron Bug
по умолчанию - да. если это не какие-то общесистемные библиотеки.
а так, лучше дать юзеру возможность просто указать файл в командной строке или в каком-то конфиге.
Litkevich Yuriy
Цитата(Iron Bug @ 20.7.2011, 11:28) *
а так, лучше дать юзеру возможность просто указать файл в командной строке или в каком-то конфиге.
+1
TiiL
Так с этим разобрался...

Надеюсь не надоел своими вопросами,

создаеться ded.exe в папке debug, копирую этот экзешник в папку bin и пробую запускать, вылезает ошибка отсутсвие mingwm10.dll, в QT приложение запускаеться, для того чтобы это приложение запускалось в другой папке или на другом компьютере где не будет стоять Qt что нужно? нужны пути к динамическим библиотекам? и как это прописывать?
Iron Bug
это уже вопрос к кутишникам, в разделе про Qt. и стопудово это уже обсуждалось. можно воспользоваться поиском по форуму, для начала.
Алексей1153
TiiL, все требуемые DLL нужно тащить вместе с приложением и класть рядом с экзешником :)
Litkevich Yuriy
TiiL, поройся у нас в вики в разделе FAQ.

И всё-таки, одна проблема - одна тема.

Цитата(Iron Bug @ 20.7.2011, 12:34) *
и стопудово это уже обсуждалось. можно воспользоваться поиском по форуму, для начала.
Именно!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.