Здравствуйте 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 может измениться если после открытия файла и до чтения из него
проводятся операции, которые могут нарушить стек.