Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблена с fopen 
V
    Опции темы
Graf_h
Дата 28.5.2009, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 482
Регистрация: 18.10.2007
Где: г. Ровно, Украина

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



Почему не открывается файл?
Вот код

Код

void V_Librarry::loadImageEx(int id,char* file_name){
     FILE * pFile=NULL;
     long lSize=0;
     unsigned char * buffer=NULL;
     unsigned int result=0;
         
     pFile = fopen(file_name,"rb");
     
     if (pFile==NULL){
        exit (1);
     }

  
    fseek (pFile , 0 , SEEK_END);
    lSize = ftell (pFile);
    rewind (pFile);


    buffer = (unsigned char*) malloc (sizeof(unsigned char)*lSize);
    if (buffer == NULL) {fputs ("Memory error",stderr); exit (2);}

 
    result = fread (buffer,1,lSize,pFile);
 

 
 
  fclose (pFile);
  free (buffer);    


почему то функция fopen возвращвет нулевой указатель:(

Это сообщение отредактировал(а) Graf_h - 28.5.2009, 15:41


--------------------
Иногда переменная - это просто переменная
PM MAIL ICQ   Вверх
dumb
Дата 28.5.2009, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

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



Цитата(Graf_h @  28.5.2009,  16:40 Найти цитируемый пост)
Почему не открывается файл?
потому что либо файл занят, либо, что более вероятно, loadImageEx вызывается с неверно заданныи именем файла. возможно одинарные бэкслэши(\) в имени.
PM MAIL   Вверх
azesmcar
Дата 28.5.2009, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



Цитата(Graf_h @  28.5.2009,  15:40 Найти цитируемый пост)
Почему не открывается файл?

1. Файла не существует
2. Нет доступа к файлу
3. Винчестр барахлит
4. Во всем виноваты магнитные бури
5. Во всем виновато правительство и президент (они всегда во всем виноваты).

я склоняюсь к первым двум вариантам
попробуй передать абсолютный путь
"c:\\file.txt"

Это сообщение отредактировал(а) azesmcar - 28.5.2009, 15:47
PM   Вверх
Graf_h
Дата 28.5.2009, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 482
Регистрация: 18.10.2007
Где: г. Ровно, Украина

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



Цитата(dumb @  28.5.2009,  15:44 Найти цитируемый пост)
потому что либо файл занят, либо, что более вероятно, loadImageEx вызывается с неверно заданныи именем файла. возможно одинарные бэкслэши(\) в имени.


Код

game_lib->loadImageEx(0,"source/birds1/bird_1.png");


Добавлено через 50 секунд
azesmcar, абсолютний путь не подходит


--------------------
Иногда переменная - это просто переменная
PM MAIL ICQ   Вверх
azesmcar
Дата 28.5.2009, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



Цитата(Graf_h @  28.5.2009,  15:47 Найти цитируемый пост)
source/birds1/bird_1.png

это relative path, выведи текущую директорию (GetCurrentDirectory - в виндоузе, getcwd в линуксе) и посмотри - правильная папка?
Визуал Студио меняет текущую директорию при запуске из своей среды разработки.
PM   Вверх
Graf_h
Дата 28.5.2009, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 482
Регистрация: 18.10.2007
Где: г. Ровно, Украина

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



azesmcar, да вы правы, не та дериктория:(


--------------------
Иногда переменная - это просто переменная
PM MAIL ICQ   Вверх
azesmcar
Дата 28.5.2009, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



Цитата(Graf_h @  28.5.2009,  15:47 Найти цитируемый пост)
azesmcar, абсолютний путь не подходит 

я для проверки имел ввиду.

Цитата(Graf_h @  28.5.2009,  16:31 Найти цитируемый пост)
azesmcar, да вы правы, не та дериктория:( 

скопируйте файл в ту что надо..когда релиз соберете, установите у пользователя итд итп...он будет читать из текущей, а пока для теста скопируйте в ту что вам GetCurrentDirectory вернул.
PM   Вверх
Graf_h
Дата 28.5.2009, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 482
Регистрация: 18.10.2007
Где: г. Ровно, Украина

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



azesmcar,  спасибо за помощь, я уже так и сделалsmile! +1;


--------------------
Иногда переменная - это просто переменная
PM MAIL ICQ   Вверх
TakisSupros
Дата 30.5.2009, 23:57 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Глянь ReadOnly может
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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