Re[3]: Проблема при работе с файлами
От: deviv  
Дата: 10.07.02 11:52
Оценка:
Здравствуйте rsn, Вы писали:

rsn>Здравствуйте Slayer, Вы писали:


S>>Здравствуйте rsn, Вы писали:



rsn>>>У меня проблема при работе с файлами:

rsn>>>Открываю файл через fopen

rsn>>> fhandle = open(filename1, "rb");

rsn>>> if (fhandle == NULL) return NULL;
rsn>>>Открывается нормально, затем при обращении к файлу через любую функцию (по крайней мере fread, fseek)
rsn>>>возникает ошибка
rsn>>> readed=fread(buf1, 1, 10, fhandle);
rsn>>>The instruction at "0x77f83941" referenced memory at "0x0000010". The memory could not be "written".
rsn>>>То есть программа обратилась к памяти куда-не-надо. При отладки загружаеться NTDLL.DLL.
rsn>>>Параметры я проверял — все в порядке.
rsn>>>Все происходит под Win2K, Visual C++ 6.0.


S>>Приведи кусок кода со всеми объявлениями.




rsn>Объявления переменных:


rsn>FILE *fhandle1;

rsn> static unsigned char buf1[11];
rsn> int readed;
rsn>Затем,
rsn> fhandle = fopen(filename1, "rb");
rsn> if (fhandle == NULL) return NULL;

rsn>В предыдущем сообщении глюк закрался, конечно же fopen и fread,

rsn>иначе фиг бы я программу скомпилировал

rsn>Далее readed=fread(buf1, 1, 10, fhandle);

rsn>и тут все вылетает.
rsn>Работу fopen я проверял ferror, нету ошибок при открытии..

rsn>Как видите ошибиться вроде бы негде):


Это полный код куска работы с файлом?
Подобные проблемы могут возникнуть если в fread передается неверный handle,
а handle может измениться если после открытия файла и до чтения из него
проводятся операции, которые могут нарушить стек.
WBR,
Влад Волосюк
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.