|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : John Lepikhin 2:5070/156 23 Apr 2003 00:50:42 To : All Subject : mingw32: баги? -------------------------------------------------------------------------------- Есть простейший код: ===================== #include <stdio.h> #include <stdlib.h> int main () { long c, i; FILE *file; file=fopen("in.fns","r"); fseek(file, 1528395, SEEK_SET); i=0; while ((c=fgetc(file)) != EOF) { printf ("c=%li, i=%li, fpos=%li\n", c, i, ftell(file)); i++; } return 0; } ===================== Открываемый файл более 6Mb. Вывод EXE-файла выглядит полным бредом: [...] c=211, i=64, fpos=1532044 c=163, i=65, fpos=1532045 c=121, i=66, fpos=1532491 > Оп-па, fpos (позиция в файле) перескочил! c=1, i=67, fpos=1536076 > И опять! c=137, i=68, fpos=1536077 Аналогичный эффект, если заменить fgetc на fread. Пытался каждый раз перед чтением позицию принудительно устанавливать - ему по параллели. С этим в морг, или есть другой выход из клиники? Версии: mingw32 2.95.3.7-3 mingw32-runtime 1.2-1 Опции компиляции минимальны: "-W -Wall" -- ... [болотный сисоп] {злокачественные словесные новообразования} --- Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Common Lisp) * Origin: Karacidum (2:5070/156.0) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/3671379e2542f.html, оценка из 5, голосов 10
|