LINUX.ORG.RU

SEEK_END


0

0

Привет. Не могу прочитать первые 4 байта последней записи в бинарнике весом 4 Гб. Т.е. пишу типа
fseek (file,-size,SEEK_END);
fseek (file,-size+1,SEEK_END);
fseek (file,-size+2,SEEK_END);
fseek (file,-size+3,SEEK_END);
Получается, что с конца файла вычитается размер записи, а затем читаютя поочередно 4 байта. С файлами меньшего размера все работает. Это зависит от размера файла?

anonymous
Ответ на: комментарий от anonymous

Параметр при компиляции. Типо так:

gcc -O2 -D_FILE_OFFSET_BITS=64 -o file file.c

Zmacs
()
Ответ на: комментарий от Zmacs

g++ -O2 -D_FILE_OFFSET_BITS=64 -c -pipe -Wall -W -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -DQT_NO_DEBUG -DQT_SHARED -DQT_THREAD_SUPPORT -I/usr/lib/qt-3.3/mkspecs/default -I. -I/usr/lib/qt-3.3/include -I.ui/ -I. -I.moc/ -o .obj/form1.o .ui/form1.cpp In file included from /usr/lib/gcc/i386-redhat-linux/3.4.5/../../../../include/c++/3.4.5/backward/iost ream.h:31, from .ui/../form1.ui.h:14, from .ui/form1.cpp:28: /usr/lib/gcc/i386-redhat-linux/3.4.5/../../../../include/c++/3.4.5/backward/back ward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.

anonymous
()
Ответ на: комментарий от anonymous

Тогда хз. Сделай то, что компилятор говорит, авось поможет.

Zmacs
()

а разве вызов не называется fseek64?

annoynimous ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.